浏览代码

fix(subClashService): improve merging of clash rules in YAML (#5054)

shazzreab 1 天之前
父节点
当前提交
98ba88037c
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      sub/subClashService.go

+ 7 - 3
sub/subClashService.go

@@ -573,10 +573,14 @@ func mergeClashRulesYAML(base map[string]any, raw string) error {
 	case []any:
 		mergeClashRules(base, typed)
 	case map[string]any:
-		if rules, ok := typed["rules"]; ok {
-			if ruleList, ok := asAnySlice(rules); ok {
-				mergeClashRules(base, ruleList)
+		for key, value := range typed {
+			if key == "rules" {
+				if ruleList, ok := asAnySlice(value); ok {
+					mergeClashRules(base, ruleList)
+				}
+				continue
 			}
+			base[key] = value
 		}
 	default:
 		mergeClashRules(base, linesToClashRules(raw))