int ast_separate_app_args(char *buf, char delim, char **array, int arraylen) { int x; char *scan; char delims[2]; if (!buf || !array || !arraylen) return 0; memset(array, 0, arraylen * sizeof(*array)); scan = buf; delims[0] = delim; delims[1] = '\0'; x = 0; while (x < arraylen - 1) { array[x] = strsep(&scan, delims); x++; if (!scan) break; } array[x++] = scan; return x; }