diff options
| -rw-r--r-- | load.go | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -76,18 +76,21 @@ func Load(pb proto.Message) error { log.Info("'Filename' is not in: =", fullname, err) return err } + // text is supposed to be "easy". Don't verify 'version' + if strings.HasSuffix(fullname, ".text") { + return loadTEXT(pb, fullname) + } + + // verify 'version' for .pb files + // application will panic if they don't match + var worked bool ver, err := GetString(pb, "version") if err != nil { log.Info("'Version' is not in: =", fullname, err) return err } - var worked bool - if strings.HasSuffix(fullname, ".text") { - if err := loadTEXT(pb, fullname); err != nil { - return err - } - worked = true - } + // maybe don't really verify .json files (?) + // doing it for now anyway. maybe just return an error if strings.HasSuffix(fullname, ".json") { if err := loadJSON(pb, fullname); err != nil { return err @@ -108,6 +111,7 @@ func Load(pb proto.Message) error { log.Printf("VERSION '%s' != '%s'\n", ver, newver) log.Info("Your protobuf file is old and can not be loaded") log.Info("You must delete or convert the file", fullname) + // probably should ALWAYS PANIC HERE panic("protobuf version mismatch") } return nil |
