Преглед на файлове

Merge branch 'pr-840'

* pr-840:
  More descriptive error if config couldn't be loaded
  Better handling of wrong config files
Jakob Borg преди 11 години
родител
ревизия
244a22755c
променени са 1 файла, в които са добавени 13 реда и са изтрити 6 реда
  1. 13 6
      cmd/syncthing/main.go

+ 13 - 6
cmd/syncthing/main.go

@@ -346,13 +346,20 @@ func syncthingMain() {
 	// Load the configuration file, if it exists.
 	// If it does not, create a template.
 
-	cfg, err = config.Load(cfgFile, myID)
-	if err == nil {
-		myCfg := cfg.Devices()[myID]
-		if myCfg.Name == "" {
-			myName, _ = os.Hostname()
+	if info, err := os.Stat(cfgFile); err == nil {
+		if !info.Mode().IsRegular() {
+			l.Fatalln("Config file is not a file?")
+		}
+		cfg, err = config.Load(cfgFile, myID)
+		if err == nil {
+			myCfg := cfg.Devices()[myID]
+			if myCfg.Name == "" {
+				myName, _ = os.Hostname()
+			} else {
+				myName = myCfg.Name
+			}
 		} else {
-			myName = myCfg.Name
+			l.Fatalln("Configuration:", err)
 		}
 	} else {
 		l.Infoln("No config file; starting with empty defaults")