aboutsummaryrefslogtreecommitdiffstats
path: root/sway/stringop.c
diff options
context:
space:
mode:
authorLibravatar taiyu <taiyu.len@gmail.com>2015-09-07 14:40:23 -0700
committerLibravatar taiyu <taiyu.len@gmail.com>2015-09-07 14:40:23 -0700
commit47ff0006975a2fcab2178b729deec675c2283363 (patch)
treebaca96b7520a4fc309710ace1be4f0301264b152 /sway/stringop.c
parentconfig modes (diff)
downloadsway-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.c23
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. */
13char *strip_whitespace(char *_str) { 13char *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