]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Backport alternate encoding of newline delimiters from trunk to 1.4, as approved...
authorTilghman Lesher <tilghman@meg.abyt.es>
Thu, 25 Oct 2007 22:53:06 +0000 (22:53 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Thu, 25 Oct 2007 22:53:06 +0000 (22:53 +0000)
Reported by blitzrage
Closes issue #10903

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87067 65c4cc65-6c06-0410-ace0-fbb531ad65f3

funcs/func_cut.c

index a8b8c8152899a33b90335d9f3790eb9173ee8a82..09340cac5a52321d30365a529173b64442cc5505 100644 (file)
@@ -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);