diff --git a/src/filters/filter.h b/src/filters/filter.h index 3b37d32..3aedb5a 100644 --- a/src/filters/filter.h +++ b/src/filters/filter.h @@ -5,6 +5,7 @@ typedef struct _config cfg_t; extern cfg_t *create(const char *id); +extern const char *error(cfg_t *c); extern bool config(cfg_t *c, const char *key, const char *value); extern bool append(cfg_t *c, const char *pattern); extern bool ready(cfg_t *c); diff --git a/src/filters/preg.c b/src/filters/preg.c index 263aa46..fdaf0e9 100644 --- a/src/filters/preg.c +++ b/src/filters/preg.c @@ -18,6 +18,7 @@ typedef struct f2b_regex_t { struct _config { char id[32]; + char error[256]; bool icase; f2b_regex_t *regexps; }; @@ -94,6 +95,13 @@ ready(cfg_t *cfg) { return false; } +const char * +error(cfg_t *cfg) { + assert(cfg != NULL); + + return cfg->error; +} + bool match(cfg_t *cfg, const char *line, char *buf, size_t buf_size) { f2b_regex_t *r = NULL;