diff options
Diffstat (limited to 'newsort.go')
| -rw-r--r-- | newsort.go | 69 |
1 files changed, 31 insertions, 38 deletions
@@ -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 } |
