From fe2329243447dcd2334dd3eaf5e2a88ef8288a06 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Tue, 16 Jul 2019 12:31:05 +0200 Subject: [PATCH] regexec() can only return zero or NOMATCH according to its man page. This allows us to remove the error handler as it could never be executed. Signed-off-by: DL6ER --- src/regex.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/regex.c b/src/regex.c index 8e58eae7..51b2aa71 100644 --- a/src/regex.c +++ b/src/regex.c @@ -72,6 +72,8 @@ bool match_regex(const char *input, const unsigned char regexid) // Try to match the compiled regular expression against input int errcode = regexec(®ex[regexid][index], input, 0, NULL, 0); + // regexec() returns zero for a successful match or REG_NOMATCH for failure. + // We are only interested in the matching case here. if (errcode == 0) { // Match, return true @@ -82,12 +84,6 @@ bool match_regex(const char *input, const unsigned char regexid) logg("Regex %s in line %i \"%s\" matches \"%s\"", regextype[regexid], index+1, regexbuffer[regexid][index], input); break; } - else if (errcode != REG_NOMATCH) - { - // Error, return false afterwards - log_regex_error("matching", errcode, index, regexid, ""); - break; - } } double elapsed = timer_elapsed_msec(REGEX_TIMER);