diff options
Diffstat (limited to 'lib/xdsconfig')
-rw-r--r-- | lib/xdsconfig/config.go | 6 | ||||
-rw-r--r-- | lib/xdsconfig/folderconfig.go | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/xdsconfig/config.go b/lib/xdsconfig/config.go index df98439..801891b 100644 --- a/lib/xdsconfig/config.go +++ b/lib/xdsconfig/config.go @@ -186,6 +186,12 @@ func (c *Config) UpdateAll(newCfg Config) error { // UpdateFolder updates a specific folder into the current configuration func (c *Config) UpdateFolder(newFolder FolderConfig) (FolderConfig, error) { + // rootPath should not be empty + if newFolder.rootPath == "" { + newFolder.rootPath = c.ShareRootDir + } + + // Sanity check of folder settings if err := FolderVerify(newFolder); err != nil { return FolderConfig{}, err } diff --git a/lib/xdsconfig/folderconfig.go b/lib/xdsconfig/folderconfig.go index e8bff4f..f22e76f 100644 --- a/lib/xdsconfig/folderconfig.go +++ b/lib/xdsconfig/folderconfig.go @@ -70,6 +70,10 @@ func FolderVerify(fCfg FolderConfig) error { err = fmt.Errorf("device id not set (SyncThingID field)") } + if fCfg.rootPath == "" { + err = fmt.Errorf("rootPath must not be empty") + } + if err != nil { fCfg.Status = FolderStatusErrorConfig log.Printf("ERROR FolderVerify: %v\n", err) |