Mon, 19 Mar 2018 16:36:14 +0100
regex parser was not properly reset before each file, sometimes resulting in wrong line counts, when the previous scanned file ended with a match
src/regex_parser.c | file | annotate | diff | comparison | revisions | |
src/regex_parser.h | file | annotate | diff | comparison | revisions | |
src/scanner.c | file | annotate | diff | comparison | revisions |
--- a/src/regex_parser.c Thu Jun 01 17:33:34 2017 +0200 +++ b/src/regex_parser.c Mon Mar 19 16:36:14 2018 +0100 @@ -43,6 +43,10 @@ return ret; } +void regex_parser_reset(regex_parser_t* parser) { + parser->pattern_match = parser->matched_lines = 0; +} + void regex_destcomppats(regex_parser_t* parser) { if (parser->compiled_patterns != NULL) { for (int i = 0 ; i < parser->compiled_pattern_count ; i++) {
--- a/src/regex_parser.h Thu Jun 01 17:33:34 2017 +0200 +++ b/src/regex_parser.h Mon Mar 19 16:36:14 2018 +0100 @@ -54,6 +54,7 @@ regex_parser_t* new_regex_parser_t(); void destroy_regex_parser_t(regex_parser_t*); +void regex_parser_reset(regex_parser_t* parser); bool regex_parser_matching(regex_parser_t*); bool regex_compile_all(regex_parser_t*);