ACK: [PATCH 11/20] fwts_log_scan: move fwts_log_regex_find
Alex Hung
alex.hung at canonical.com
Wed Jun 27 22:51:26 UTC 2018
On 2018-06-20 05:14 AM, Marcello Sylvester Bauer wrote:
> Signed-off-by: Marcello Sylvester Bauer <info at marcellobauer.com>
> ---
> src/lib/include/fwts_log_scan.h | 1 +
> src/lib/src/fwts_klog.c | 27 +--------------------------
> src/lib/src/fwts_log_scan.c | 35 +++++++++++++++++++++++++++++++++++
> 3 files changed, 37 insertions(+), 26 deletions(-)
>
> diff --git a/src/lib/include/fwts_log_scan.h b/src/lib/include/fwts_log_scan.h
> index b2364791..438dceb2 100644
> --- a/src/lib/include/fwts_log_scan.h
> +++ b/src/lib/include/fwts_log_scan.h
> @@ -52,5 +52,6 @@ void fwts_log_scan_patterns(fwts_framework *fw, char *line, int repeated,
> fwts_compare_mode fwts_log_compare_mode_str_to_val(const char *str);
> const char *fwts_json_str(fwts_framework *fw, const char *table, int index, json_object *obj, const char *key, bool log_error);
> int fwts_log_check(fwts_framework *fw, const char *table, fwts_log_scan_func fwts_log_scan_patterns, fwts_log_progress_func progress, fwts_list *log, int *errors, const char *json_data_path, const char *label, bool remove_timestamp);
> +int fwts_log_regex_find(fwts_framework *fw, fwts_list *log, char *pattern, bool remove_timestamp);
>
> #endif
> diff --git a/src/lib/src/fwts_klog.c b/src/lib/src/fwts_klog.c
> index ea8d4ed7..fe4f2728 100644
> --- a/src/lib/src/fwts_klog.c
> +++ b/src/lib/src/fwts_klog.c
> @@ -160,27 +160,6 @@ int fwts_klog_pm_check(fwts_framework *fw, fwts_klog_progress_func progress,
> progress, klog, errors);
> }
>
> -static void fwts_klog_regex_find_callback(fwts_framework *fw, char *line, int repeated,
> - char *prev, void *pattern, int *match)
> -{
> - int rc;
> - regex_t compiled;
> -
> - FWTS_UNUSED(fw);
> - FWTS_UNUSED(repeated);
> - FWTS_UNUSED(prev);
> -
> - rc = regcomp(&compiled, (char *)pattern, REG_EXTENDED);
> - if (rc) {
> - fwts_log_error(fw, "Regex %s failed to compile: %d.", (char *)pattern, rc);
> - } else {
> - rc = regexec(&compiled, line, 0, NULL, 0);
> - regfree(&compiled);
> - if (!rc)
> - (*match)++;
> - }
> -}
> -
> /*
> * fwts_klog_regex_find()
> * scan a kernel log list of lines for a given regex pattern
> @@ -188,11 +167,7 @@ static void fwts_klog_regex_find_callback(fwts_framework *fw, char *line, int re
> */
> int fwts_klog_regex_find(fwts_framework *fw, fwts_list *klog, char *pattern)
> {
> - int found = 0;
> -
> - fwts_klog_scan(fw, klog, fwts_klog_regex_find_callback, NULL, pattern, &found);
> -
> - return found;
> + return fwts_log_regex_find(fw, klog, pattern, true);
> }
>
> /*
> diff --git a/src/lib/src/fwts_log_scan.c b/src/lib/src/fwts_log_scan.c
> index 79979ff1..2ba23177 100644
> --- a/src/lib/src/fwts_log_scan.c
> +++ b/src/lib/src/fwts_log_scan.c
> @@ -464,3 +464,38 @@ fail_put:
>
> return ret;
> }
> +
> +static void fwts_log_regex_find_callback(fwts_framework *fw, char *line, int repeated,
> + char *prev, void *pattern, int *match)
> +{
> + int rc;
> + regex_t compiled;
> +
> + FWTS_UNUSED(fw);
> + FWTS_UNUSED(repeated);
> + FWTS_UNUSED(prev);
> +
> + rc = regcomp(&compiled, (char *)pattern, REG_EXTENDED);
> + if (rc) {
> + fwts_log_error(fw, "Regex %s failed to compile: %d.", (char *)pattern, rc);
> + } else {
> + rc = regexec(&compiled, line, 0, NULL, 0);
> + regfree(&compiled);
> + if (!rc)
> + (*match)++;
> + }
> +}
> +
> +/*
> + * fwts_log_regex_find()
> + * scan a log list of lines for a given regex pattern
> + * uses fwts_log_regex_find_callback() callback
> + */
> +int fwts_log_regex_find(fwts_framework *fw, fwts_list *log, char *pattern, bool remove_timestamp)
> +{
> + int found = 0;
> +
> + fwts_log_scan(fw, log, fwts_log_regex_find_callback, NULL, pattern, &found, remove_timestamp);
> +
> + return found;
> +}
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list