diff options
author | taiyu <taiyu.len@gmail.com> | 2015-09-07 14:40:23 -0700 |
---|---|---|
committer | taiyu <taiyu.len@gmail.com> | 2015-09-07 14:40:23 -0700 |
commit | 47ff0006975a2fcab2178b729deec675c2283363 (patch) | |
tree | baca96b7520a4fc309710ace1be4f0301264b152 /sway/stringop.c | |
parent | config modes (diff) | |
download | sway-47ff0006975a2fcab2178b729deec675c2283363.tar.gz sway-47ff0006975a2fcab2178b729deec675c2283363.tar.zst sway-47ff0006975a2fcab2178b729deec675c2283363.zip |
put strip_whitespace back
Diffstat (limited to 'sway/stringop.c')
-rw-r--r-- | sway/stringop.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/sway/stringop.c b/sway/stringop.c index d2b74655..77faf3f1 100644 --- a/sway/stringop.c +++ b/sway/stringop.c | |||
@@ -11,16 +11,21 @@ const char *whitespace = " \f\n\r\t\v"; | |||
11 | 11 | ||
12 | /* Note: This returns 8 characters for trimmed_start per tab character. */ | 12 | /* Note: This returns 8 characters for trimmed_start per tab character. */ |
13 | char *strip_whitespace(char *_str) { | 13 | char *strip_whitespace(char *_str) { |
14 | int ws = strspn(_str, whitespace); | 14 | if (*_str == '\0') |
15 | int len = strlen(_str) - ws + 1; | 15 | return _str; |
16 | sway_log(L_DEBUG,"%d, %d..",ws,len); | 16 | char *strold = _str; |
17 | char *str = malloc(len); | 17 | while (*_str == ' ' || *_str == '\t') { |
18 | strcpy(str, _str+ws); | 18 | _str++; |
19 | free(_str); | 19 | } |
20 | char *str = malloc(strlen(_str) + 1); | ||
21 | strcpy(str, _str); | ||
22 | free(strold); | ||
23 | int i; | ||
24 | for (i = 0; str[i] != '\0'; ++i); | ||
20 | do { | 25 | do { |
21 | len--; | 26 | i--; |
22 | } while (len >= 0 && (str[len] == ' ' || str[len] == '\t')); | 27 | } while (i >= 0 && (str[i] == ' ' || str[i] == '\t')); |
23 | str[len + 1] = '\0'; | 28 | str[i + 1] = '\0'; |
24 | return str; | 29 | return str; |
25 | } | 30 | } |
26 | 31 | ||