summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/ignore.c14
-rw-r--r--src/core/ignore.h1
2 files changed, 4 insertions, 11 deletions
diff --git a/src/core/ignore.c b/src/core/ignore.c
index 2b8299bd..30cb7cb8 100644
--- a/src/core/ignore.c
+++ b/src/core/ignore.c
@@ -66,10 +66,8 @@ static int ignore_match_pattern(IGNORE_REC *rec, const char *text)
if (text == NULL)
return FALSE;
- if (rec->regexp) {
- return rec->regexp_compiled &&
- g_regex_match(rec->preg, text, 0, NULL);
- }
+ if (rec->regexp)
+ return rec->preg && g_regex_match(rec->preg, text, 0, NULL);
return rec->fullword ?
stristr_full(text, rec->pattern) != NULL :
@@ -322,10 +320,8 @@ static void ignore_remove_config(IGNORE_REC *rec)
static void ignore_init_rec(IGNORE_REC *rec)
{
- if (rec->regexp_compiled) {
+ if (rec->preg != NULL)
g_regex_unref(rec->preg);
- rec->regexp_compiled = FALSE;
- }
if (rec->regexp && rec->pattern != NULL) {
GError *re_error;
@@ -335,8 +331,6 @@ static void ignore_init_rec(IGNORE_REC *rec)
if (rec->preg == NULL) {
g_warning("Failed to compile regexp '%s': %s", rec->pattern, re_error->message);
g_error_free(re_error);
- } else {
- rec->regexp_compiled = TRUE;
}
}
}
@@ -358,7 +352,7 @@ static void ignore_destroy(IGNORE_REC *rec, int send_signal)
if (send_signal)
signal_emit("ignore destroyed", 1, rec);
- if (rec->regexp_compiled) g_regex_unref(rec->preg);
+ if (rec->preg != NULL) g_regex_unref(rec->preg);
if (rec->channels != NULL) g_strfreev(rec->channels);
g_free_not_null(rec->mask);
g_free_not_null(rec->servertag);
diff --git a/src/core/ignore.h b/src/core/ignore.h
index 6c9797f5..f37f8b28 100644
--- a/src/core/ignore.h
+++ b/src/core/ignore.h
@@ -16,7 +16,6 @@ struct _IGNORE_REC {
unsigned int regexp:1;
unsigned int fullword:1;
unsigned int replies:1; /* ignore replies to nick in channel */
- unsigned int regexp_compiled:1; /* should always be TRUE, unless regexp is invalid */
GRegex *preg;
};