diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-06-17 13:25:01 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-06-17 13:25:01 +0000 |
commit | 9a80a7bc2ce5c68997feca8101a421a596d1cc18 (patch) | |
tree | 2f3fcf85448f51a8c5c7937ca52329d489d87c61 /utils.c | |
parent | fb6f36387fd65f853b16caa9721213130ad178af (diff) |
string/whitespace handling cleanups (bug #4449, with mods)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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; } |