Explorar o código

Fix some config Copy() things we had forgotten

Jakob Borg %!s(int64=10) %!d(string=hai) anos
pai
achega
679f0f9363

+ 1 - 0
lib/config/folderconfiguration.go

@@ -47,6 +47,7 @@ func (f FolderConfiguration) Copy() FolderConfiguration {
 	c := f
 	c.Devices = make([]FolderDeviceConfiguration, len(f.Devices))
 	copy(c.Devices, f.Devices)
+	c.Versioning = f.Versioning.Copy()
 	return c
 }
 

+ 4 - 0
lib/config/optionsconfiguration.go

@@ -49,5 +49,9 @@ func (orig OptionsConfiguration) Copy() OptionsConfiguration {
 	copy(c.ListenAddress, orig.ListenAddress)
 	c.GlobalAnnServers = make([]string, len(orig.GlobalAnnServers))
 	copy(c.GlobalAnnServers, orig.GlobalAnnServers)
+	c.RelayServers = make([]string, len(orig.RelayServers))
+	copy(c.RelayServers, orig.RelayServers)
+	c.AlwaysLocalNets = make([]string, len(orig.AlwaysLocalNets))
+	copy(c.AlwaysLocalNets, orig.AlwaysLocalNets)
 	return c
 }

+ 9 - 0
lib/config/versioningconfiguration.go

@@ -23,6 +23,15 @@ type InternalParam struct {
 	Val string `xml:"val,attr"`
 }
 
+func (c VersioningConfiguration) Copy() VersioningConfiguration {
+	cp := c
+	cp.Params = make(map[string]string, len(c.Params))
+	for k, v := range c.Params {
+		cp.Params[k] = v
+	}
+	return cp
+}
+
 func (c *VersioningConfiguration) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
 	var tmp InternalVersioningConfiguration
 	tmp.Type = c.Type