From: Richard Mudgett Date: Sun, 22 Jan 2017 23:25:57 +0000 (-0600) Subject: LISTFILTER: Remove outdated ERROR message. X-Git-Tag: 13.14.0-rc1~34^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a969bf357708514104b67274a6c07d4697ea0eff;p=thirdparty%2Fasterisk.git LISTFILTER: Remove outdated ERROR message. Feeding LISTFILTER an empty variable results in an invalid ERROR message. Earlier changes made the message useless because we can no longer tell if the variable is empty or does not exist. It is valid to try to remove a value from an empty list just as it is valid to try to remove a value that is not in a non-empty list. * Removed the outdated ERROR message. * Added more test cases to the LISTFILTER unit test. Change-Id: Ided9040e6359c44a335ef54e02ef5950a1863134 --- diff --git a/funcs/func_strings.c b/funcs/func_strings.c index efa4bfda71..c76bddc51e 100644 --- a/funcs/func_strings.c +++ b/funcs/func_strings.c @@ -619,7 +619,6 @@ static int listfilter(struct ast_channel *chan, const char *cmd, char *parse, ch } ast_str_substitute_variables(&orig_list, 0, chan, varsubst); if (!ast_str_strlen(orig_list)) { - ast_log(LOG_ERROR, "List variable '%s' not found\n", args.listname); if (chan) { ast_channel_unlock(chan); } diff --git a/tests/test_substitution.c b/tests/test_substitution.c index 46e8ce920d..2635430a45 100644 --- a/tests/test_substitution.c +++ b/tests/test_substitution.c @@ -287,7 +287,16 @@ AST_TEST_DEFINE(test_substitution) TEST(test_expected_result(test, c, "A${${baz}o:-2:1}A", "A2A")); TEST(test_expected_result(test, c, "A${${baz}o:-2:-1}A", "A2A")); pbx_builtin_setvar_helper(c, "list1", "ab&cd&ef"); + TEST(test_expected_result(test, c, "${LISTFILTER(list1,&,ab)}", "cd&ef")); TEST(test_expected_result(test, c, "${LISTFILTER(list1,&,cd)}", "ab&ef")); + TEST(test_expected_result(test, c, "${LISTFILTER(list1,&,ef)}", "ab&cd")); + TEST(test_expected_result(test, c, "${LISTFILTER(list1,&,gh)}", "ab&cd&ef")); + TEST(test_expected_result(test, c, "${LISTFILTER(list1,&,c)}", "ab&cd&ef")); + TEST(test_expected_result(test, c, "${LISTFILTER(list1,&,d)}", "ab&cd&ef")); + pbx_builtin_setvar_helper(c, "list2", "ab"); + TEST(test_expected_result(test, c, "${LISTFILTER(list2,&,ab)}", "")); + pbx_builtin_setvar_helper(c, "list_empty", ""); + TEST(test_expected_result(test, c, "${LISTFILTER(list_empty,&,ab)}", "")); TEST(test_expected_result(test, c, "${SHELL(printf '%d' 123)},${SHELL(printf '%d' 456)}", "123,456")); TEST(test_expected_result(test, c, "${foo},${CDR(answer)},${SHELL(printf '%d' 456)}", "123,,456")); TEST(test_expected_result(test, c, "${foo},${CDR(answer,u)},${SHELL(printf '%d' 456)}", "123,0.000000,456"));