mirror of
https://github.com/irssi/irssi.git
synced 2024-11-03 04:27:19 -05:00
Don't use glob matching, just regular string comparisons
This commit is contained in:
parent
94b823c3cd
commit
857e27aef6
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user