From 868cb3ca71713014cc613b49f8521c01e60f366e Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Tue, 18 Aug 2015 08:05:34 -0400 Subject: Revert "config handles comments better" This reverts commit e9c3a9016f1df5877404721043967431afb2f5c7. --- sway/stringop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sway/stringop.c') diff --git a/sway/stringop.c b/sway/stringop.c index 00cc32b8..624c8401 100644 --- a/sway/stringop.c +++ b/sway/stringop.c @@ -41,7 +41,7 @@ void strip_comments(char *str) { } else if (str[i] == '\'' && !in_string) { in_character = !in_character; } else if (!in_character && !in_string) { - if (str[i] == '#') { + if (str[i] == '#' && i == 0) { str[i] = '\0'; break; } -- cgit v1.2.3 From 85a573dab73654fb4462dd8fe48ef16400770f04 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Tue, 18 Aug 2015 08:39:26 -0400 Subject: Revert "enhanced whitespace remover" This reverts commit abd0afb03a2929931cb684e5aaeac312affe6e5f. --- sway/stringop.c | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'sway/stringop.c') diff --git a/sway/stringop.c b/sway/stringop.c index 624c8401..1dff97bf 100644 --- a/sway/stringop.c +++ b/sway/stringop.c @@ -1,38 +1,37 @@ +#include "stringop.h" #include #include -#include -#include -#include "stringop.h" #include "string.h" #include "list.h" +#include /* Note: This returns 8 characters for trimmed_start per tab character. */ -void strip_whitespace(char *str) { - int shift = 0; - int bpair = 1; - int in_str = 0, in_ch = 0; - while (*str) { - str[-shift] = str[0]; - if (*str == '"' && !in_ch) { - in_str = !in_str; - } else if (*str == '\'' && !in_str) { - in_ch = !in_ch; - } else if (!in_ch && !in_str) { - if (isblank(*str)) { - if (bpair) { - ++shift; - } - bpair=1; - } else { - bpair = 0; - } +char *strip_whitespace(char *_str, int *trimmed_start) { + *trimmed_start = 0; + if (*_str == '\0') + return _str; + char *strold = _str; + while (*_str == ' ' || *_str == '\t') { + if (*_str == '\t') { + *trimmed_start += 8; + } else { + *trimmed_start += 1; } - ++str; + _str++; } - str[-shift-bpair] = 0; + char *str = malloc(strlen(_str) + 1); + strcpy(str, _str); + free(strold); + int i; + for (i = 0; str[i] != '\0'; ++i); + do { + i--; + } while (i >= 0 && (str[i] == ' ' || str[i] == '\t')); + str[i + 1] = '\0'; + return str; } -void strip_comments(char *str) { +char *strip_comments(char *str) { int in_string = 0, in_character = 0; int i = 0; while (str[i] != '\0') { @@ -48,6 +47,7 @@ void strip_comments(char *str) { } ++i; } + return str; } list_t *split_string(const char *str, const char *delims) { -- cgit v1.2.3