diff -r a2832c054c98 -r 8e186185422c ucx/string.c --- a/ucx/string.c Tue Mar 31 09:43:42 2015 +0200 +++ b/ucx/string.c Tue Mar 31 10:18:55 2015 +0200 @@ -29,6 +29,7 @@ #include #include #include +#include #include "string.h" #include "allocator.h" @@ -296,38 +297,15 @@ sstr_t sstrtrim(sstr_t string) { sstr_t newstr = string; - if (string.length == 0) { - return newstr; - } - size_t i; - for(i=0;i 32) { - break; - } + while (newstr.length > 0 && isspace(*newstr.ptr)) { + newstr.ptr++; + newstr.length--; } - newstr.ptr = &string.ptr[i]; - newstr.length = string.length - i; - - if(newstr.length == 0) { - return newstr; + while (newstr.length > 0 && isspace(newstr.ptr[newstr.length-1])) { + newstr.length--; } - i = newstr.length - 1; - for(;;) { - char c = newstr.ptr[i]; - if(c > 32) { - break; - } - if(i > 0) { - i--; - } else { - break; - } - } - newstr.length = i + 1; - return newstr; }