diff options
author | Jari Matilainen <jari.matilainen@gmail.com> | 2016-03-17 23:58:46 +0100 |
---|---|---|
committer | Jari Matilainen <jari.matilainen@gmail.com> | 2016-03-17 23:58:46 +0100 |
commit | 857e27aef6d04edc1e47d52d74031ba279d2da1a (patch) | |
tree | 52e97f5fc79dd9cf226cac2d279a5f56cce95fcb /src | |
parent | 94b823c3cd410abb2fa54ecbcf298550d5e2ba88 (diff) | |
download | irssi-857e27aef6d04edc1e47d52d74031ba279d2da1a.zip |
Don't use glob matching, just regular string comparisons
Diffstat (limited to 'src')
-rw-r--r-- | src/core/misc.c | 20 | ||||
-rw-r--r-- | src/core/misc.h | 1 | ||||
-rw-r--r-- | src/fe-common/core/fe-common-core.c | 13 |
3 files changed, 12 insertions, 22 deletions
diff --git a/src/core/misc.c b/src/core/misc.c index 2284d3b1..c26610ec 100644 --- a/src/core/misc.c +++ b/src/core/misc.c @@ -169,30 +169,12 @@ int strarray_find(char **array, const char *item) char **tmp; int index; - g_return_val_if_fail(array != NULL, 0); - g_return_val_if_fail(item != NULL, 0); - - index = 0; - for (tmp = array; *tmp != NULL; tmp++, index++) { - if (g_ascii_strcasecmp(*tmp, item) == 0) - return index; - } - - return -1; -} - - -int strarray_find_glob(char **array, const char *item) -{ - char **tmp; - int index; - g_return_val_if_fail(array != NULL, -1); g_return_val_if_fail(item != NULL, -1); index = 0; for (tmp = array; *tmp != NULL; tmp++, index++) { - if (g_pattern_match_simple(*tmp, item)) + if (g_ascii_strcasecmp(*tmp, item) == 0) return index; } diff --git a/src/core/misc.h b/src/core/misc.h index dd8bb14c..7e78d3b9 100644 --- a/src/core/misc.h +++ b/src/core/misc.h @@ -111,7 +111,6 @@ char *replace_chars(char *str, char from, char to); int strarray_length(char **array); /* return index of `item' in `array' or -1 if not found */ int strarray_find(char **array, const char *item); -int strarray_find_glob(char **array, const char *item); /* string -> uoff_t */ uoff_t str_to_uofft(const char *str); diff --git a/src/fe-common/core/fe-common-core.c b/src/fe-common/core/fe-common-core.c index f0549358..1b2ab1e2 100644 --- a/src/fe-common/core/fe-common-core.c +++ b/src/fe-common/core/fe-common-core.c @@ -459,12 +459,21 @@ gboolean strarray_find_dest(char **array, const TEXT_DEST_REC *dest) { g_return_val_if_fail(array != NULL, FALSE); + if (strarray_find(array, "*") != -1) + return TRUE; + if (strarray_find(array, dest->target) != -1) return TRUE; if (dest->server_tag != NULL) { - char *tagtarget = g_strdup_printf("%s/%s", dest->server_tag, dest->target); - int ret = strarray_find_glob(array, tagtarget); + char *tagtarget = g_strdup_printf("%s/%s", dest->server_tag, "*"); + int ret = strarray_find(array, tagtarget); + g_free(tagtarget); + if (ret != -1) + return TRUE; + + tagtarget = g_strdup_printf("%s/%s", dest->server_tag, dest->target); + ret = strarray_find(array, tagtarget); g_free(tagtarget); if (ret != -1) return TRUE; |