aboutsummaryrefslogtreecommitdiffstats
path: root/funcs
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-25 22:53:06 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-25 22:53:06 +0000
commit0e9e1fd41534c526d91bc5e64720cf5371783a74 (patch)
treee0a036ad17f99883ec4b539912011497cf9a11b9 /funcs
parent1815c0b66b6dc293f924af50c1f8eb3edd7a0823 (diff)
Backport alternate encoding of newline delimiters from trunk to 1.4, as approved by Russell
Reported by blitzrage Closes issue #10903 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@87067 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'funcs')
-rw-r--r--funcs/func_cut.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/funcs/func_cut.c b/funcs/func_cut.c
index a8b8c8152..09340cac5 100644
--- a/funcs/func_cut.c
+++ b/funcs/func_cut.c
@@ -145,7 +145,21 @@ static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size
return ERROR_NOMEM;
}
- d = args.delimiter[0] ? args.delimiter[0] : '-';
+ if (args.delimiter[0] == '\\') {
+ if (args.delimiter[1] == 'n')
+ d = '\n';
+ else if (args.delimiter[1] == 't')
+ d = '\t';
+ else if (args.delimiter[1] == 'r')
+ d = '\r';
+ else if (args.delimiter[1])
+ d = args.delimiter[1];
+ else
+ d = '-';
+ } else if (args.delimiter[0])
+ d = args.delimiter[0];
+ else
+ d = '-';
/* String form of the delimiter, for use with strsep(3) */
snprintf(ds, sizeof(ds), "%c", d);