diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-06-17 14:27:57 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-06-17 14:27:57 +0000 |
commit | 0719f8be79333862bd2f79be4ce6dd509ec852e6 (patch) | |
tree | 26e21e8021dddab313f7c049597b3824a800d4d5 /utils.c | |
parent | 74994ed0a3b22ad076fabfc0193e4c1b047776a7 (diff) |
don't let ast_trim_blanks operate on empty strings or run off the beginning of the string
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5929 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'utils.c')
-rwxr-xr-x | utils.c | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -46,13 +46,15 @@ char *ast_skip_blanks(char *str) char *ast_trim_blanks(char *str) { - if (str) { - str += strlen(str) - 1; - while (*str && *str < 33) - str--; - *(++str) = '\0'; /* terminate string */ + char *work = str; + + if (work && !ast_strlen_zero(work)) { + work += strlen(work) - 1; + while ((work >= str) && *work && *work < 33) + work--; + *(++work) = '\0'; /* terminate string */ } - return str; + return work; } char *ast_skip_nonblanks(char *str) |