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: https://origsvn.digium.com/svn/asterisk/branches/1.4@197194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Tilghman Lesher 16 years ago
parent 829907e467
commit 292448fd86

@ -167,7 +167,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;
@ -209,11 +209,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++;
}
}

Loading…
Cancel
Save