From 60191d9c84d453acef38d6c6d170c96907ffadf0 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Sat, 17 Nov 2007 01:42:45 +0000 Subject: [PATCH] merge in sep str changes from big brother git-svn-id: http://svn.openzap.org/svn/openzap/trunk@332 a93c3328-9c30-0410-af19-c9cd2b2d52af --- libs/freetdm/src/zap_io.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/libs/freetdm/src/zap_io.c b/libs/freetdm/src/zap_io.c index 30a9771beb..64b415adfb 100644 --- a/libs/freetdm/src/zap_io.c +++ b/libs/freetdm/src/zap_io.c @@ -2034,8 +2034,7 @@ uint32_t zap_separate_string(char *buf, char delim, char **array, int arraylen) int argc; char *ptr; int quot = 0; - char qc = '"'; - char *e; + char qc = '\''; int x; if (!buf || !array || !arraylen) { @@ -2066,13 +2065,21 @@ uint32_t zap_separate_string(char *buf, char delim, char **array, int arraylen) array[argc++] = ptr; } - /* strip quotes */ + /* strip quotes and leading / trailing spaces */ for (x = 0; x < argc; x++) { - if (*(array[x]) == qc) { + char *p; + + while(*(array[x]) == ' ') { (array[x])++; - if ((e = strchr(array[x], qc))) { - *e = '\0'; - } + } + p = array[x]; + while((p = strchr(array[x], qc))) { + memmove(p, p+1, strlen(p)); + p++; + } + p = array[x] + (strlen(array[x]) - 1); + while(*p == ' ') { + *p-- = '\0'; } }