1
0
mirror of https://github.com/irssi/irssi.git synced 2024-06-23 06:35:36 +00:00

Don't use glob matching, just regular string comparisons

This commit is contained in:
Jari Matilainen 2016-03-17 23:58:46 +01:00
parent 94b823c3cd
commit 857e27aef6
3 changed files with 12 additions and 22 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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;