diff options
Diffstat (limited to 'pkg/server/automap.go')
| -rw-r--r-- | pkg/server/automap.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/pkg/server/automap.go b/pkg/server/automap.go index 67ae5b0..f38f758 100644 --- a/pkg/server/automap.go +++ b/pkg/server/automap.go @@ -10,16 +10,21 @@ type automap map[string]interface{} var errExists = errors.New("already exists") var errNotFound = errors.New("no such entry") -func (m automap) add(v interface{}) string { +func (m automap) next() string { for n := 1; ; n++ { k := fmt.Sprintf("%d", n) if _, ok := m[k]; !ok { - m[k] = v return k } } } +func (m automap) add(v interface{}) string { + k := m.next() + m[k] = v + return k +} + func (m automap) rename(old string, new string) (interface{}, error) { if _, ok := m[old]; !ok { return nil, errNotFound |
