瀏覽代碼

restore backup if file corrupted

Matthew R. Kasun 3 年之前
父節點
當前提交
8eef12036d
共有 1 個文件被更改,包括 12 次插入2 次删除
  1. 12 2
      netclient/config/config.go

+ 12 - 2
netclient/config/config.go

@@ -288,8 +288,18 @@ func ReadConfig(network string) (*ClientConfig, error) {
 	decoder := yaml.NewDecoder(f)
 	err = decoder.Decode(&cfg)
 	if err != nil {
-		logger.Log(2, "trouble decoding file", err.Error())
-		return nil, err
+		if err = ReplaceWithBackup(network); err != nil {
+			return nil, err
+		}
+		f.Close()
+		f, err = os.Open(file)
+		if err != nil {
+			return nil, err
+		}
+		defer f.Close()
+		if err := yaml.NewDecoder(f).Decode(&cfg); err != nil {
+			return nil, err
+		}
 	}
 
 	return &cfg, err