[PATCH 06/20] fwts_log_scan: move fwts_log_unique_label

Marcello Sylvester Bauer info at marcellobauer.com
Tue Jun 26 13:10:52 UTC 2018


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;
+}
-- 
2.16.4




More information about the fwts-devel mailing list