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