This commit is contained in:
Anthony Minessale 2011-01-13 10:58:53 -06:00
parent 2e0747272f
commit c6bdb303d4
1 changed files with 27 additions and 15 deletions

View File

@ -809,23 +809,29 @@ SWITCH_DECLARE(char *) switch_strip_whitespace(const char *str)
{
const char *sp = str;
char *p, *s = NULL;
size_t len;
if (!sp)
return NULL;
if (zstr(sp)) {
return (char *) sp;
}
while ((*sp == 13 ) || (*sp == 10 ) || (*sp == 9 ) || (*sp == 32) || (*sp == 11) ) {
sp++;
}
if (zstr(sp)) {
return (char *) sp;
}
s = strdup(sp);
switch_assert(s);
if (!s)
return NULL;
if ((len = strlen(s)) > 0) {
p = s + (len - 1);
p = s + (strlen(s) - 1);
while ((*p == 13 ) || (*p == 10 ) || (*p == 9 ) || (*p == 32) || (*p == 11) ) {
*p-- = '\0';
while (p > s && ((*p == 13 ) || (*p == 10 ) || (*p == 9 ) || (*p == 32) || (*p == 11))) {
*p-- = '\0';
}
}
return s;
@ -835,9 +841,11 @@ SWITCH_DECLARE(char *) switch_strip_spaces(char *str, switch_bool_t dup)
{
char *sp = str;
char *p, *s = NULL;
size_t len;
if (!sp)
return NULL;
if (zstr(sp)) {
return sp;
}
while (*sp == ' ') {
sp++;
@ -845,17 +853,21 @@ SWITCH_DECLARE(char *) switch_strip_spaces(char *str, switch_bool_t dup)
if (dup) {
s = strdup(sp);
switch_assert(s);
} else {
s = sp;
}
if (!s)
return NULL;
if (zstr(s)) {
return s;
}
p = s + (strlen(s) - 1);
if ((len = strlen(s)) > 0) {
p = s + (len - 1);
while (*p == ' ') {
*p-- = '\0';
while (p && *p && p > s && *p == ' ') {
*p-- = '\0';
}
}
return s;