diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-27 19:30:06 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-27 19:30:06 +0000 |
commit | 66ef026c470588ba53beead52c8b11a8ff3b0d20 (patch) | |
tree | 1354234e035be6a62ff262af9a9723280d6593cc /funcs | |
parent | cd6002dad9598b91fba19f0eb50db9001eb3e07d (diff) |
Recorded merge of revisions 197209 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r197209 | tilghman | 2009-05-27 14:20:56 -0500 (Wed, 27 May 2009) | 12 lines
Recorded merge of revisions 197194 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r197194 | tilghman | 2009-05-27 14:09:42 -0500 (Wed, 27 May 2009) | 5 lines
Use a different determinator on whether to print the delimiter, since leading fields may be blank.
(closes issue #15208)
Reported by: ramonpeek
Patch by me, though inspired in part by a patch from ramonpeek
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@197247 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'funcs')
-rw-r--r-- | funcs/func_cut.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/funcs/func_cut.c b/funcs/func_cut.c index 3a3c2f309..f70a57778 100644 --- a/funcs/func_cut.c +++ b/funcs/func_cut.c @@ -190,7 +190,7 @@ static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size pbx_substitute_variables_helper(chan, tmp, tmp2, MAXRESULT - 1); if (tmp2) { - int curfieldnum = 1; + int curfieldnum = 1, firstfield = 1; while (tmp2 != NULL && args.field != NULL) { char *nextgroup = strsep(&(args.field), "&"); int num1 = 0, num2 = MAXRESULT; @@ -232,10 +232,12 @@ static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size char *tmp3 = strsep(&tmp2, ds); int curlen = strlen(buffer); - if (curlen) - snprintf(buffer + curlen, buflen - curlen, "%c%s", d, tmp3); - else + if (firstfield) { snprintf(buffer, buflen, "%s", tmp3); + firstfield = 0; + } else { + snprintf(buffer + curlen, buflen - curlen, "%c%s", d, tmp3); + } curfieldnum++; } |