diff options
author | Nikola Pajkovsky <npajkovs@redhat.com> | 2011-04-05 10:39:33 +0200 |
---|---|---|
committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2011-04-05 10:39:33 +0200 |
commit | c1169b2a8292db34d99c327c6aeb315116cf0e00 (patch) | |
tree | 14cae822bfa85352c37d21e30057dba3e7078546 | |
parent | 98445ec1f011601cfe650ef9a36bdada6cb058cb (diff) | |
parent | 90fe3a9d0cd766d18d1142d8d6981193a5715643 (diff) | |
download | abrt-c1169b2a8292db34d99c327c6aeb315116cf0e00.tar.gz abrt-c1169b2a8292db34d99c327c6aeb315116cf0e00.tar.xz abrt-c1169b2a8292db34d99c327c6aeb315116cf0e00.zip |
Merge branch 'daemon/blacklist'
* daemon/blacklist:
rhbz#692465 - Blacklist doesn't work
-rw-r--r-- | src/cli/report.cpp | 27 | ||||
-rw-r--r-- | src/daemon/Settings.cpp | 10 | ||||
-rw-r--r-- | src/include/abrtlib.h | 2 | ||||
-rw-r--r-- | src/lib/strbuf.c | 23 |
4 files changed, 35 insertions, 27 deletions
diff --git a/src/cli/report.cpp b/src/cli/report.cpp index 172cb8f8..e2873a28 100644 --- a/src/cli/report.cpp +++ b/src/cli/report.cpp @@ -23,29 +23,6 @@ #define FIELD_SEP "%----" /* - * Trims whitespace characters both from left and right side of a string. - * Modifies the string in-place. Returns the trimmed string. - */ -static char *trim(char *str) -{ - if (!str) - return NULL; - - // Remove leading spaces. - overlapping_strcpy(str, skip_whitespace(str)); - - // Remove trailing spaces. - int i = strlen(str); - while (--i >= 0) - { - if (!isspace(str[i])) - break; - } - str[++i] = '\0'; - return str; -} - -/* * Escapes the field content string to avoid confusion with file comments. * Returned field must be free()d by caller. */ @@ -226,11 +203,11 @@ static int read_crash_report_field(const char *text, crash_data_t *report, char newvalue[length + 1]; strncpy(newvalue, textfield, length); newvalue[length] = '\0'; - trim(newvalue); + strtrim(newvalue); char oldvalue[strlen(value->content) + 1]; strcpy(oldvalue, value->content); - trim(oldvalue); + strtrim(oldvalue); // Return if no change in the contents detected. if (strcmp(newvalue, oldvalue) == 0) diff --git a/src/daemon/Settings.cpp b/src/daemon/Settings.cpp index e25b7959..b3d1ade5 100644 --- a/src/daemon/Settings.cpp +++ b/src/daemon/Settings.cpp @@ -64,11 +64,14 @@ static GList *parse_list(const char* list) struct strbuf *item = strbuf_new(); GList *l = NULL; + char *trim_item = NULL; + for (unsigned ii = 0; list[ii]; ii++) { if (list[ii] == ',') { - l = g_list_append(l, xstrdup(item->buf)); + trim_item = strtrim(item->buf); + l = g_list_append(l, xstrdup(trim_item)); strbuf_clear(item); } else @@ -76,7 +79,10 @@ static GList *parse_list(const char* list) } if (item->len > 0) - l = g_list_append(l, xstrdup(item->buf)); + { + trim_item = strtrim(item->buf); + l = g_list_append(l, xstrdup(trim_item)); + } strbuf_free(item); return l; diff --git a/src/include/abrtlib.h b/src/include/abrtlib.h index d9364673..70dc300c 100644 --- a/src/include/abrtlib.h +++ b/src/include/abrtlib.h @@ -94,6 +94,8 @@ extern "C" { int prefixcmp(const char *str, const char *prefix); #define suffixcmp abrt_suffixcmp int suffixcmp(const char *str, const char *suffix); +#define strtrim abrt_strtrim +char *strtrim(char *str); #define concat_path_file abrt_concat_path_file char *concat_path_file(const char *path, const char *filename); #define append_to_malloced_string abrt_append_to_malloced_string diff --git a/src/lib/strbuf.c b/src/lib/strbuf.c index f56815a0..572f11cc 100644 --- a/src/lib/strbuf.c +++ b/src/lib/strbuf.c @@ -37,6 +37,29 @@ int suffixcmp(const char *str, const char *suffix) return strcmp(str + len_minus_suflen, suffix); } +/* + * Trims whitespace characters both from left and right side of a string. + * Modifies the string in-place. Returns the trimmed string. + */ +char *strtrim(char *str) +{ + if (!str) + return NULL; + + // Remove leading spaces. + overlapping_strcpy(str, skip_whitespace(str)); + + // Remove trailing spaces. + int i = strlen(str); + while (--i >= 0) + { + if (!isspace(str[i])) + break; + } + str[++i] = '\0'; + return str; +} + struct strbuf *strbuf_new(void) { struct strbuf *buf = xzalloc(sizeof(*buf)); |