diff options
| author | Jeff Carr <[email protected]> | 2025-10-09 06:41:40 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-09 06:44:08 -0500 |
| commit | 31f6b7a851cf1000700ecffb98f205c89f336c0a (patch) | |
| tree | 29a141642aedde68049fc6753d15c73e2f489660 | |
| parent | 1f282c7160e3776d6b532427e6c00ad82897a815 (diff) | |
don't panic on .text protobuf file Load()
| -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 |
