summaryrefslogtreecommitdiff
path: root/newsort.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-09 17:15:53 -0600
committerJeff Carr <[email protected]>2025-01-09 17:15:53 -0600
commit948af64ea2b6e586f4d152fcfc7ed168dae4c919 (patch)
tree8ac36eed2d783ee57eeb8f45c84adc75e8f7c8d4 /newsort.go
parent7c10ff958e57d02d13287c4cdbe0aca3781e1600 (diff)
example doesn't seem to work. why? notsure
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'newsort.go')
-rw-r--r--newsort.go69
1 files changed, 31 insertions, 38 deletions
diff --git a/newsort.go b/newsort.go
index 863bb2e..b931977 100644
--- a/newsort.go
+++ b/newsort.go
@@ -1,65 +1,58 @@
package main
import (
- "fmt"
"os"
- "strings"
)
func (pb *Files) makeNewSortfile(pf *File) error {
f, _ := os.OpenFile(pf.Filebase+".newsort.pb.go", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
header(f, pf)
-
pf.syncLock(f)
- if pf.Bases == nil {
- return fmt.Errorf("Base was nil. 'message %s {` did not exist", pf.Filebase)
- }
- if pf.Base == nil {
- return fmt.Errorf("Base was nil. 'message %s {` did not exist", pf.Filebase)
+
+ if argv.Mutex {
+ // use the mutex lock from the modified protoc.pb.go file
+ pf.Bases.Lockname = "all.Lock"
}
pf.Base.iterTop(f)
pf.Base.iterNext(f)
+ pf.iterSelect(f)
pf.appendUnique(f) // Append() enforce no unique keys
+ pf.iterSortBy(f)
+ pf.iterAll(f)
+ // pf.iterSortAll(f, sortmap)
return nil
- // iterSortAll(f, sortmap)
-
- if argv.Append != "" {
- sortmap["append"] = string(argv.Append)
- iterAppend(f, sortmap) // Append() enforce unique key argv.Append
- }
-
- for _, s := range uniqueKeys {
- // log.Info("found unique key in .proto", s)
- sortmap["sortBy"] = s
- sortmap["sortKey"] = s
- iterSortBy(f, sortmap)
+ /*
+ for _, s := range uniqueKeys {
+ // log.Info("found unique key in .proto", s)
+ sortmap["sortBy"] = s
+ sortmap["sortKey"] = s
- sortmap["append"] = sortmap["sortKey"]
- iterAppend(f, sortmap) // Append() enforce unique key argv.Append
+ sortmap["append"] = sortmap["sortKey"]
+ iterAppend(f, sortmap) // Append() enforce unique key argv.Append
- iterDelete(f, sortmap)
- iterReplace(f, sortmap)
- iterFind(f, sortmap)
- }
+ iterDelete(f, sortmap)
+ iterReplace(f, sortmap)
+ iterFind(f, sortmap)
+ }
- for _, s := range argv.Sort {
- sortparts := strings.Split(s, ",")
- sortmap["sortBy"] = sortparts[0]
- sortmap["sortKey"] = sortparts[1]
+ for _, s := range argv.Sort {
+ sortparts := strings.Split(s, ",")
+ sortmap["sortBy"] = sortparts[0]
+ sortmap["sortKey"] = sortparts[1]
- iterSortBy(f, sortmap)
+ iterSortBy(f, sortmap)
- sortmap["append"] = sortmap["sortKey"]
- iterAppend(f, sortmap) // Append() enforce unique key argv.Append
+ sortmap["append"] = sortmap["sortKey"]
+ iterAppend(f, sortmap) // Append() enforce unique key argv.Append
- iterDelete(f, sortmap)
- iterReplace(f, sortmap)
- iterFind(f, sortmap)
- }
- iterEnd(f, sortmap)
+ iterDelete(f, sortmap)
+ iterReplace(f, sortmap)
+ iterFind(f, sortmap)
+ }
+ */
return nil
}