From 9349ab95fc91f74f2c242a7e3ccc0b630c3d95f3 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 11 Jan 2025 02:44:21 -0600 Subject: small app works, example core dumps on Marshal() --- small/main.go | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 small/main.go (limited to 'small/main.go') diff --git a/small/main.go b/small/main.go new file mode 100644 index 0000000..f8e5d60 --- /dev/null +++ b/small/main.go @@ -0,0 +1,60 @@ +//go:build go1.20 +// +build go1.20 + +package main + +import ( + "os" + + "go.wit.com/log" +) + +// sent via -ldflags +var VERSION string +var BUILDTIME string + +var sortmap map[string]string +var marshalKeys []string +var uniqueKeys []string + +func main() { + var pb *Fruits + pb = new(Fruits) + // attempt to load basket.pb + fruit := &Fruit{ + Brand: "mom", + City: "New NewYork", + UPC: "2000", + } + pb.Fruits = append(pb.Fruits, fruit) + + a := &Fruit{ + Brand: "fry", + City: "the moon", + UPC: "2001", + } + pb.Fruits = append(pb.Fruits, a) + + pb.saveBasket() +} + +func (pb *Fruits) saveBasket() error { + data, err := pb.Marshal() + if err != nil { + return err + } + + w, err := os.OpenFile("basket.pb", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) + if err != nil { + return err + } + w.Write(data) + w.Close() + log.Info("saved basket.pb ok") + return nil +} + +func badExit(err error) { + log.Info("autogenpb error:", err) + os.Exit(-1) +} -- cgit v1.2.3