summaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-06-17 13:25:01 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-06-17 13:25:01 +0000
commit9a80a7bc2ce5c68997feca8101a421a596d1cc18 (patch)
tree2f3fcf85448f51a8c5c7937ca52329d489d87c61 /utils.c
parentfb6f36387fd65f853b16caa9721213130ad178af (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-xutils.c33
1 files changed, 27 insertions, 6 deletions
diff --git a/utils.c b/utils.c
index c7d5e56cd..7f50c7be8 100755
--- a/utils.c
+++ b/utils.c
@@ -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;
}