Remove the regexp_compiled field.

It was made redundant by the introduction of the pointer to the GRegex
structure.
Silence the compiler warning in textbuffer.c about preg being
initialized by setting it to NULL.
This commit is contained in:
LemonBoy 2016-01-29 16:22:14 +01:00 committed by Ailin Nemui
commit 3fcd3cd2b9
6 changed files with 11 additions and 22 deletions

View file

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

View file

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