put strip_whitespace back

This commit is contained in:
taiyu 2015-09-07 14:40:23 -07:00
parent 71af5b7dde
commit 47ff000697
2 changed files with 15 additions and 9 deletions

View file

@ -230,6 +230,7 @@ bool read_config(FILE *file, bool is_active) {
char *line;
while (!feof(file)) {
line = read_line(file);
line = strip_whitespace(line);
line = strip_comments(line);
if (line[0] == '\0') {
goto _continue;

View file

@ -11,16 +11,21 @@ const char *whitespace = " \f\n\r\t\v";
/* Note: This returns 8 characters for trimmed_start per tab character. */
char *strip_whitespace(char *_str) {
int ws = strspn(_str, whitespace);
int len = strlen(_str) - ws + 1;
sway_log(L_DEBUG,"%d, %d..",ws,len);
char *str = malloc(len);
strcpy(str, _str+ws);
free(_str);
if (*_str == '\0')
return _str;
char *strold = _str;
while (*_str == ' ' || *_str == '\t') {
_str++;
}
char *str = malloc(strlen(_str) + 1);
strcpy(str, _str);
free(strold);
int i;
for (i = 0; str[i] != '\0'; ++i);
do {
len--;
} while (len >= 0 && (str[len] == ' ' || str[len] == '\t'));
str[len + 1] = '\0';
i--;
} while (i >= 0 && (str[i] == ' ' || str[i] == '\t'));
str[i + 1] = '\0';
return str;
}