# HG changeset patch # User Mike Becker <universe@uap-core.de> # Date 1427789935 -7200 # Node ID 8e186185422ca65f8c83f5a3c3b4284591053e22 # Parent a2832c054c98e8e95f578b147959f1795bb43105 UCX string module update 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 <stdlib.h> #include <string.h> #include <stdarg.h> +#include <ctype.h> #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<string.length;i++) { - char c = string.ptr[i]; - if(c > 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; }