- don't free user-supplied string (via -e)
[oweals/busybox.git] / libbb / trim.c
index d3639154022576cf1b1eec58b29218a9cae00f6c..ea20ff370396155610fb24bdafa1d0196ba386f0 100644 (file)
@@ -8,24 +8,24 @@
  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
 
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
 #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) {
+       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;
+       s[len] = '\0';
 }