From fc338360b98cd87c90d01b5afb8122c6b42319e1 Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Tue, 29 Apr 2025 00:57:06 +0800 Subject: [PATCH] fix --- apps/efka/src/efka_subscription.erl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/efka/src/efka_subscription.erl b/apps/efka/src/efka_subscription.erl index ab5eb42..04a866c 100644 --- a/apps/efka/src/efka_subscription.erl +++ b/apps/efka/src/efka_subscription.erl @@ -145,15 +145,17 @@ match_topic(Topic0, Topic1) -> %% *表示单级匹配,+表示多级匹配;+只能出现一次,并且只能在末尾 -spec match_components(list(), list()) -> boolean(). -match_components([<<$+>>], [_|_]) -> +match_components(A, B) when is_list(A), is_list(B) -> + match_components(A, B, false). +match_components([<<"+">>], [_|_], _) -> true; -match_components([], []) -> +match_components([], [], _) -> true; -match_components([<<$*>>|T0], [_|T1]) -> - match_components(T0, T1); -match_components([C0|T0], [C0|T1]) -> - match_components(T0, T1); -match_components(_, _) -> +match_components([<<"*">>|T0], [_|T1], _) -> + match_components(T0, T1, false); +match_components([C0|T0], [C0|T1], _) -> + match_components(T0, T1, false); +match_components(_, _, _) -> false. -spec of_components(Topic :: binary()) -> [binary()].