From 96701b6c6840dd9eead97f70277ec1602c70d8af Mon Sep 17 00:00:00 2001 From: David Leadbeater Date: Sun, 29 Jun 2014 22:01:05 +0100 Subject: [PATCH 1/5] Make it more obvious if -pattern wasn't provided to a regexp /ignore --- src/fe-common/core/fe-ignore.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fe-common/core/fe-ignore.c b/src/fe-common/core/fe-ignore.c index 7c23ad94..6d53bf1b 100644 --- a/src/fe-common/core/fe-ignore.c +++ b/src/fe-common/core/fe-ignore.c @@ -56,8 +56,10 @@ static void ignore_print(int index, IGNORE_REC *rec) if (rec->exception) g_string_append(options, "-except "); if (rec->regexp) { g_string_append(options, "-regexp "); + if (rec->pattern == NULL) + g_string_append(options, "[INVALID! -pattern missing] "); #ifdef HAVE_REGEX_H - if (!rec->regexp_compiled) + else if (!rec->regexp_compiled) g_string_append(options, "[INVALID!] "); #endif } From 0086211236ae5541ec3ddc55282eebab81f93680 Mon Sep 17 00:00:00 2001 From: David Leadbeater Date: Sun, 29 Jun 2014 21:57:38 +0100 Subject: [PATCH 2/5] Warn with error if regexp ignore fails to parse --- src/core/ignore.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/core/ignore.c b/src/core/ignore.c index a7aa106f..eda232c7 100644 --- a/src/core/ignore.c +++ b/src/core/ignore.c @@ -293,10 +293,24 @@ static void ignore_remove_config(IGNORE_REC *rec) static void ignore_init_rec(IGNORE_REC *rec) { #ifdef HAVE_REGEX_H + char *errbuf; + int errcode, errbuf_len; + if (rec->regexp_compiled) regfree(&rec->preg); - rec->regexp_compiled = !rec->regexp || rec->pattern == NULL ? FALSE : - regcomp(&rec->preg, rec->pattern, - REG_EXTENDED|REG_ICASE|REG_NOSUB) == 0; + rec->regexp_compiled = FALSE; + if (rec->regexp && rec->pattern != NULL) { + errcode = regcomp(&rec->preg, rec->pattern, + REG_EXTENDED|REG_ICASE|REG_NOSUB); + if (errcode != 0) { + errbuf_len = regerror(errcode, &rec->preg, 0, 0); + errbuf = g_malloc(errbuf_len); + regerror(errcode, &rec->preg, errbuf, errbuf_len); + g_warning("Failed to compile regexp '%s': %s", rec->pattern, errbuf); + g_free(errbuf); + } else { + rec->regexp_compiled = TRUE; + } + } #endif } From 2b7e460398876b84c9050591abd7de460ff28b53 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Mon, 30 Jun 2014 08:02:05 -0400 Subject: [PATCH 3/5] Remove superfluous entry from EXTRA_DIST curses.m4 is already included by automake as it's an m4 depdendency. --- Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 5bb0a2d7..d7680640 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,7 +27,6 @@ pkginclude_HEADERS = irssi-config.h irssi-version.h EXTRA_DIST = \ ChangeLog \ autogen.sh \ - curses.m4 \ README \ file2header.sh \ $(conf_DATA) \ From a9d7171b7c53e89b0cb161fbfd7e45fc9afc02d4 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Mon, 30 Jun 2014 08:09:53 -0400 Subject: [PATCH 4/5] propagate flags for automake initialization --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index d7680640..0f381be1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -ACLOCAL_AMFLAGS = -I m4 +ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} # create default-config.h BUILT_SOURCES = default-config.h default-theme.h irssi-version.h From 16088a7a4606aa5e6a4ec0bdc4792fe8271c2646 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Mon, 30 Jun 2014 14:19:10 -0400 Subject: [PATCH 5/5] Refer to correct name of README.md fcb67831f2759fb renamed README -> README.md but didn't update EXTRA_DIST, breaking 'make dist'. --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 0f381be1..4f1d1112 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,7 +27,7 @@ pkginclude_HEADERS = irssi-config.h irssi-version.h EXTRA_DIST = \ ChangeLog \ autogen.sh \ - README \ + README.md \ file2header.sh \ $(conf_DATA) \ $(theme_DATA) \