Horrible hack for bad architecture
This commit is contained in:
@@ -143,7 +143,10 @@ func (l *List) Append(filenames ...string) error {
|
||||
log.Printf("Adding entry: %#v", entry)
|
||||
|
||||
l.entries = append(l.entries, entry)
|
||||
l.header.NextUID = l.header.NextUID + 1
|
||||
|
||||
log.Printf("NextUID: %v", l.header.NextUID)
|
||||
l.header.NextUID++
|
||||
log.Printf("NextUID: %v", l.header.NextUID)
|
||||
|
||||
// Try to write them all, at least
|
||||
// FIXME: we don't bubble up errors when we should
|
||||
@@ -191,6 +194,9 @@ func (l *List) parse() error {
|
||||
l.mutex.Lock()
|
||||
defer l.mutex.Unlock()
|
||||
|
||||
log.Printf("Parsing %v", l.filename)
|
||||
defer func() { log.Printf("Finished parsing %v", l.filename) }()
|
||||
|
||||
file, err := os.Open(l.filename)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -212,6 +218,7 @@ func (l *List) parse() error {
|
||||
|
||||
// Now parse each additional line
|
||||
entries := []Entry{}
|
||||
|
||||
for r.Scan() {
|
||||
entry, err := ParseEntry(r.Text())
|
||||
if err != nil {
|
||||
@@ -221,13 +228,17 @@ func (l *List) parse() error {
|
||||
|
||||
// If NextUID is out of date in the file, ignore it. We never want to
|
||||
// re-use a seen UID
|
||||
log.Printf("l.header.NextUID: %v", l.header.NextUID)
|
||||
if entry.UID >= l.header.NextUID {
|
||||
l.header.NextUID++
|
||||
log.Printf("Incrementing as entry with UID %v is greater", entry.UID)
|
||||
l.header.NextUID = entry.UID + 1
|
||||
}
|
||||
log.Printf("l.header.NextUID: %v", l.header.NextUID)
|
||||
}
|
||||
|
||||
l.header = header
|
||||
l.entries = entries
|
||||
log.Printf("list: %#v", l)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user