aboutsummaryrefslogtreecommitdiffstats
path: root/utils.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-06-17 13:25:01 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-06-17 13:25:01 +0000
commit8a86381ef17ee243ec4b1e62cf8e5e59ad919ff8 (patch)
tree2f3fcf85448f51a8c5c7937ca52329d489d87c61 /utils.c
parente9bbd73622f4116bba824a2435f38f70b0107e53 (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-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;
}