diff options
Diffstat (limited to 'funcs/func_strings.c')
-rw-r--r-- | funcs/func_strings.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/funcs/func_strings.c b/funcs/func_strings.c index 9f843b669..de87c197a 100644 --- a/funcs/func_strings.c +++ b/funcs/func_strings.c @@ -56,6 +56,16 @@ static int function_fieldqty(struct ast_channel *chan, const char *cmd, AST_STANDARD_APP_ARGS(args, parse); if (args.delim) { pbx_retrieve_variable(chan, args.varname, &varval, buf, len, NULL); + if (args.delim[0] == '\\') { + if (args.delim[1] == 'n') + ast_copy_string(args.delim, "\n", 2); + else if (args.delim[1] == 't') + ast_copy_string(args.delim, "\t", 2); + else if (args.delim[1]) + ast_copy_string(args.delim, &args.delim[1], 2); + else + ast_copy_string(args.delim, "-", 2); + } while (strsep(&varval, args.delim)) fieldcount++; } else { |