aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'libbb')
-rw-r--r--libbb/trim.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libbb/trim.c b/libbb/trim.c
index 38aa28231..0dca6678e 100644
--- a/libbb/trim.c
+++ b/libbb/trim.c
@@ -29,14 +29,18 @@
29 29
30void trim(char *s) 30void trim(char *s)
31{ 31{
32 int len = strlen(s); 32 size_t len = strlen(s);
33 size_t lws;
33 34
34 /* trim trailing whitespace */ 35 /* trim trailing whitespace */
35 while ( len > 0 && isspace(s[len-1])) 36 while (len && isspace(s[len-1])) --len;
36 s[--len]='\0';
37 37
38 /* trim leading whitespace */ 38 /* trim leading whitespace */
39 memmove(s, &s[strspn(s, " \n\r\t\v")], len); 39 if(len) {
40 lws = strspn(s, " \n\r\t\v");
41 memmove(s, s + lws, len -= lws);
42 }
43 s[len] = 0;
40} 44}
41 45
42/* END CODE */ 46/* END CODE */