diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-06-17 13:25:01 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-06-17 13:25:01 +0000 |
commit | 8a86381ef17ee243ec4b1e62cf8e5e59ad919ff8 (patch) | |
tree | 2f3fcf85448f51a8c5c7937ca52329d489d87c61 /utils.c | |
parent | e9bbd73622f4116bba824a2435f38f70b0107e53 (diff) |
string/whitespace handling cleanups (bug #4449, with mods)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5924 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'utils.c')
-rwxr-xr-x | utils.c | 33 |
1 files changed, 27 insertions, 6 deletions
@@ -37,15 +37,36 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") static char base64[64]; static char b2a[256]; -char *ast_strip(char *s) +char *ast_skip_blanks(char *str) { - char *e; + while (*str && *str < 33) + str++; + return str; +} + +char *ast_trim_blanks(char *str) +{ + if (str) { + str += strlen(str) - 1; + while (*str && *str < 33) + str--; + *(++str) = '\0'; /* terminate string */ + } + return str; +} - while (*s && (*s < 33)) s++; - e = s + strlen(s) - 1; - while ((e > s) && (*e < 33)) e--; - *++e = '\0'; +char *ast_skip_nonblanks(char *str) +{ + while (*str && *str > 32) + str++; + return str; +} +char *ast_strip(char *s) +{ + s = ast_skip_blanks(s); + if (s) + ast_trim_blanks(s); return s; } |