- don't free user-supplied string (via -e)
[oweals/busybox.git] / libbb / trim.c
index 4957d7276c62244badf144b6198ff60286bf4a06..ea20ff370396155610fb24bdafa1d0196ba386f0 100644 (file)
 
 #include "libbb.h"
 
-void trim(char *s)
+void FAST_FUNC trim(char *s)
 {
        size_t len = strlen(s);
        size_t lws;
 
        /* trim trailing whitespace */
-       while (len && isspace(s[len-1])) --len;
+       while (len && isspace(s[len-1]))
+               --len;
 
        /* trim leading whitespace */
        if (len) {
                lws = strspn(s, " \n\r\t\v");
-               memmove(s, s + lws, len -= lws);
+               if (lws) {
+                       len -= lws;
+                       memmove(s, s + lws, len);
+               }
        }
        s[len] = '\0';
 }