diff --git a/utils.c b/utils.c index 7f50c7be85d5ae17873b89e15702af3b594ed99e..776853816aa3a9f8a89db6772d750333819d8f96 100755 --- a/utils.c +++ b/utils.c @@ -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)