diff options
Diffstat (limited to 'collectors/log2journal/log2journal-pattern.c')
-rw-r--r-- | collectors/log2journal/log2journal-pattern.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/collectors/log2journal/log2journal-pattern.c b/collectors/log2journal/log2journal-pattern.c deleted file mode 100644 index 4b7e9026b..000000000 --- a/collectors/log2journal/log2journal-pattern.c +++ /dev/null @@ -1,54 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -#include "log2journal.h" - -void search_pattern_cleanup(SEARCH_PATTERN *sp) { - if(sp->pattern) { - freez((void *)sp->pattern); - sp->pattern = NULL; - } - - if(sp->re) { - pcre2_code_free(sp->re); - sp->re = NULL; - } - - if(sp->match_data) { - pcre2_match_data_free(sp->match_data); - sp->match_data = NULL; - } - - txt_cleanup(&sp->error); -} - -static void pcre2_error_message(SEARCH_PATTERN *sp, int rc, int pos) { - char msg[1024]; - pcre2_get_error_in_buffer(msg, sizeof(msg), rc, pos); - txt_replace(&sp->error, msg, strlen(msg)); -} - -static inline bool compile_pcre2(SEARCH_PATTERN *sp) { - int error_number; - PCRE2_SIZE error_offset; - PCRE2_SPTR pattern_ptr = (PCRE2_SPTR)sp->pattern; - - sp->re = pcre2_compile(pattern_ptr, PCRE2_ZERO_TERMINATED, 0, &error_number, &error_offset, NULL); - if (!sp->re) { - pcre2_error_message(sp, error_number, (int) error_offset); - return false; - } - - return true; -} - -bool search_pattern_set(SEARCH_PATTERN *sp, const char *search_pattern, size_t search_pattern_len) { - search_pattern_cleanup(sp); - - sp->pattern = strndupz(search_pattern, search_pattern_len); - if (!compile_pcre2(sp)) - return false; - - sp->match_data = pcre2_match_data_create_from_pattern(sp->re, NULL); - - return true; -} |