Index: service/datastore/properties.go |
diff --git a/service/datastore/properties.go b/service/datastore/properties.go |
index 11f62dc2939334b7581ee453aa541365b1c518cd..8ce5970def31e1939b3f69638c85bfca264e00de 100644 |
--- a/service/datastore/properties.go |
+++ b/service/datastore/properties.go |
@@ -431,7 +431,7 @@ func (pm PropertyMap) Save(withMeta bool) (PropertyMap, error) { |
} |
ret := make(PropertyMap, len(pm)) |
for k, v := range pm { |
- if withMeta || len(k) == 0 || k[0] != '$' { |
+ if withMeta || !isMetaKey(k) { |
ret[k] = append(ret[k], v...) |
} |
} |
@@ -472,6 +472,12 @@ func (pm PropertyMap) Problem() error { |
return nil |
} |
+func isMetaKey(k string) bool { |
+ // empty counts as a metakey since it's not a valid data key, but it's |
+ // not really a valid metakey either. |
+ return k == "" || k[0] == '$' |
+} |
+ |
// GetMetaDefaultImpl is the implementation of PropertyLoadSaver.GetMetaDefault. |
// |
// It takes the normal GetMeta function, the key and the default, and returns |