From 3b038310abe853c90039a6b4e5d046a2d6de76b0 Mon Sep 17 00:00:00 2001 From: adlyq Date: Thu, 2 Jun 2022 15:43:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=B1=BB=E5=9E=8B=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=AF=BC=E8=87=B4=E8=A7=84=E5=88=99=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rule/logic/common.go | 4 ++++ rule/ruleparser/ruleparser.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/rule/logic/common.go b/rule/logic/common.go index 001447a4..61dbe963 100644 --- a/rule/logic/common.go +++ b/rule/logic/common.go @@ -5,6 +5,7 @@ import ( "github.com/Dreamacro/clash/common/collections" C "github.com/Dreamacro/clash/constant" RC "github.com/Dreamacro/clash/rule/common" + RP "github.com/Dreamacro/clash/rule/provider" "github.com/Dreamacro/clash/rule/ruleparser" "regexp" "strings" @@ -70,6 +71,9 @@ func parseRule(tp, payload string, params []string) (parsed C.Rule, parseErr err parsed, parseErr = NewOR(payload, "") case "NOT": parsed, parseErr = NewNOT(payload, "") + case "RULE-SET": + noResolve := RC.HasNoResolve(params) + parsed, parseErr = RP.NewRuleSet(payload, "", noResolve) default: parseErr = ruleparser.NewUnsupportedError(tp) } diff --git a/rule/ruleparser/ruleparser.go b/rule/ruleparser/ruleparser.go index aafa1e13..c4bd7bad 100644 --- a/rule/ruleparser/ruleparser.go +++ b/rule/ruleparser/ruleparser.go @@ -62,6 +62,6 @@ func NewUnsupportedError(tp any) *UnsupportedError { } func IsUnsupported(err error) bool { - _, ok := err.(UnsupportedError) + _, ok := err.(*UnsupportedError) return ok }