Index: apps/app_cut.c =================================================================== RCS file: /usr/cvsroot/asterisk/apps/app_cut.c,v retrieving revision 1.13 diff -u -r1.13 app_cut.c --- apps/app_cut.c 15 Sep 2005 15:44:26 -0000 1.13 +++ apps/app_cut.c 18 Oct 2005 16:54:38 -0000 @@ -93,7 +93,7 @@ static int sort_internal(struct ast_channel *chan, char *data, char *buffer, size_t buflen) { char *strings, *ptrkey, *ptrvalue; - int count=1, count2; + int count=1, count2, element_count=0; struct sortable_keys *sortable_keys; memset(buffer, 0, buflen); @@ -139,13 +139,13 @@ qsort(sortable_keys, count, sizeof(struct sortable_keys), sort_subroutine); for (count2 = 0; count2 < count; count2++) { - strncat(buffer + strlen(buffer), sortable_keys[count2].key, buflen - strlen(buffer)); - strncat(buffer + strlen(buffer), ",", buflen - strlen(buffer)); + int blen = strlen(buffer); + if (element_count++) { + strncat(buffer + blen, ",", buflen - blen - 1); + } + strncat(buffer + blen + 1, sortable_keys[count2].key, buflen - blen - 2); } - /* Remove trailing comma */ - buffer[strlen(buffer) - 1] = '\0'; - return 0; }