ACK: [PATCH 06/20] fwts_log_scan: move fwts_log_unique_label
Colin Ian King
colin.king at canonical.com
Fri Jun 29 16:18:11 UTC 2018
On 26/06/18 14:10, Marcello Sylvester Bauer wrote:
> Note: label has been added as argument.
>
> Signed-off-by: Marcello Sylvester Bauer <info at marcellobauer.com>
> ---
> src/lib/include/fwts_log_scan.h | 1 +
> src/lib/src/fwts_klog.c | 36 ++++++------------------------------
> src/lib/src/fwts_log_scan.c | 35 +++++++++++++++++++++++++++++++++++
> 3 files changed, 42 insertions(+), 30 deletions(-)
>
> diff --git a/src/lib/include/fwts_log_scan.h b/src/lib/include/fwts_log_scan.h
> index e4326188..caf1e8f0 100644
> --- a/src/lib/include/fwts_log_scan.h
> +++ b/src/lib/include/fwts_log_scan.h
> @@ -45,5 +45,6 @@ void fwts_log_free(fwts_list *list);
> fwts_list *fwts_log_find_changes(fwts_list *log_old, fwts_list *log_new);
> char *fwts_log_remove_timestamp(char *text);
> int fwts_log_scan(fwts_framework *fw, fwts_list *log, fwts_log_scan_func callback, fwts_log_progress_func progress, void *private, int *errors, bool remove_timestamp);
> +char *fwts_log_unique_label(const char *str, const char *label);
>
> #endif
> diff --git a/src/lib/src/fwts_klog.c b/src/lib/src/fwts_klog.c
> index 94195261..cfb76d7f 100644
> --- a/src/lib/src/fwts_klog.c
> +++ b/src/lib/src/fwts_klog.c
> @@ -35,6 +35,11 @@
> */
> #define KLOG_DATA_JSON_FILE "klog.json"
>
> +/*
> + * match unique strings in the kernel log
> + */
> +#define UNIQUE_KLOG_LABEL "Klog"
> +
> /*
> * fwts_klog_free()
> * free kernel log list
> @@ -98,36 +103,7 @@ int fwts_klog_scan(fwts_framework *fw,
>
> char *fwts_klog_unique_label(const char *str)
> {
> - static char buffer[1024];
> - const char *src = str;
> - char *dst;
> - int count = 0;
> - bool forceupper = true;
> -
> - strcpy(buffer, "Klog");
> - dst = buffer + 4;
> -
> - while ((dst < (buffer + sizeof(buffer) - 1)) &&
> - (count < 4) && (*src)) {
> - if ((*src == '|') ||
> - (*src == '/') ||
> - (*src == ' ')) {
> - src++;
> - count++;
> - forceupper = true;
> - continue;
> - }
> - if (!isalnum(*src)) {
> - src++;
> - continue;
> - }
> - *dst++ = forceupper ? toupper(*src) : *src;
> - src++;
> -
> - forceupper = false;
> - }
> - *dst = '\0';
> - return buffer;
> + return fwts_log_unique_label(str, UNIQUE_KLOG_LABEL);
> }
>
> void fwts_klog_scan_patterns(fwts_framework *fw,
> diff --git a/src/lib/src/fwts_log_scan.c b/src/lib/src/fwts_log_scan.c
> index 9b9e9457..4ef02061 100644
> --- a/src/lib/src/fwts_log_scan.c
> +++ b/src/lib/src/fwts_log_scan.c
> @@ -205,3 +205,38 @@ int fwts_log_scan(fwts_framework *fw,
>
> return FWTS_OK;
> }
> +
> +char *fwts_log_unique_label(const char *str, const char *label)
> +{
> + static char buffer[1024];
> + const char *src = str;
> + char *dst;
> + int count = 0;
> + bool forceupper = true;
> +
> + strncpy(buffer, label, sizeof(buffer)-1);
> + buffer[sizeof(buffer)-1] = '\0';
> + dst = buffer + strlen(label);
> +
> + while ((dst < (buffer + sizeof(buffer) - 1)) &&
> + (count < 4) && (*src)) {
> + if ((*src == '|') ||
> + (*src == '/') ||
> + (*src == ' ')) {
> + src++;
> + count++;
> + forceupper = true;
> + continue;
> + }
> + if (!isalnum(*src)) {
> + src++;
> + continue;
> + }
> + *dst++ = forceupper ? toupper(*src) : *src;
> + src++;
> +
> + forceupper = false;
> + }
> + *dst = '\0';
> + return buffer;
> +}
>
Acked-by: Colin Ian King <colin.king at canonical.com>
More information about the fwts-devel
mailing list