mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	reset our buffer each iteration when doing variable substitution
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -3620,6 +3620,9 @@ void ast_str_substitute_variables_full(struct ast_str **buf, ssize_t maxlen, str | ||||
| 	ast_str_reset(*buf); | ||||
| 	whereweare = tmp = templ; | ||||
| 	while (!ast_strlen_zero(whereweare)) { | ||||
| 		/* reset our buffer */ | ||||
| 		ast_str_reset(substr3); | ||||
|  | ||||
| 		/* Assume we're copying the whole remaining string */ | ||||
| 		pos = strlen(whereweare); | ||||
| 		nextvar = NULL; | ||||
|   | ||||
| @@ -263,6 +263,7 @@ AST_TEST_DEFINE(test_substitution) | ||||
| 	TEST(test_expected_result(test, c, "${LISTFILTER(list1,&,cd)}", "ab&ef")); | ||||
| 	TEST(test_expected_result(test, c, "${SHELL(echo -n 123)},${SHELL(echo -n 456)}", "123,456")); | ||||
| 	TEST(test_expected_result(test, c, "${foo},${CDR(answer)},${SHELL(echo -n 456)}", "123,,456")); | ||||
| 	TEST(test_expected_result(test, c, "${foo},${this_does_not_exist},${THIS_DOES_NOT_EXIST(either)}", "123,,")); | ||||
| #undef TEST | ||||
|  | ||||
| 	/* For testing dialplan functions */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user