[PATCH 09/20] fwts_log_scan: move fwts_json_str
Marcello Sylvester Bauer
info at marcellobauer.com
Wed Jun 20 12:14:35 UTC 2018
Signed-off-by: Marcello Sylvester Bauer <info at marcellobauer.com>
---
src/lib/include/fwts_klog.h | 1 -
src/lib/include/fwts_log_scan.h | 3 +++
src/lib/src/fwts_klog.c | 35 -----------------------------------
src/lib/src/fwts_log_scan.c | 35 +++++++++++++++++++++++++++++++++++
4 files changed, 38 insertions(+), 36 deletions(-)
diff --git a/src/lib/include/fwts_klog.h b/src/lib/include/fwts_klog.h
index 0c077b71..933ba455 100644
--- a/src/lib/include/fwts_klog.h
+++ b/src/lib/include/fwts_klog.h
@@ -50,6 +50,5 @@ int fwts_klog_write(fwts_framework *fw, const char *msg);
fwts_compare_mode fwts_klog_compare_mode_str_to_val(const char *str);
char *fwts_klog_unique_label(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);
#endif
diff --git a/src/lib/include/fwts_log_scan.h b/src/lib/include/fwts_log_scan.h
index f4ebfc4c..849a9d1b 100644
--- a/src/lib/include/fwts_log_scan.h
+++ b/src/lib/include/fwts_log_scan.h
@@ -22,6 +22,8 @@
#include <regex.h>
+#include "fwts_json.h"
+
typedef enum {
FWTS_COMPARE_REGEX = 'r',
FWTS_COMPARE_STRING = 's',
@@ -48,5 +50,6 @@ int fwts_log_scan(fwts_framework *fw, fwts_list *log, fwts_log_scan_func
char *fwts_log_unique_label(const char *str, const char *label);
void fwts_log_scan_patterns(fwts_framework *fw, char *line, int repeated, char *prevline, void *private, int *errors, const char *name, const char *advice);
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);
#endif
diff --git a/src/lib/src/fwts_klog.c b/src/lib/src/fwts_klog.c
index 159b7541..a0d3b561 100644
--- a/src/lib/src/fwts_klog.c
+++ b/src/lib/src/fwts_klog.c
@@ -129,41 +129,6 @@ fwts_compare_mode fwts_klog_compare_mode_str_to_val(const char *str)
return fwts_log_compare_mode_str_to_val(str);
}
-/*
- * fwts_json_str()
- * given a key, fetch the string value associated with this object
- * and report an error if it cannot be found.
- */
-const char *fwts_json_str(
- fwts_framework *fw,
- const char *table,
- int index,
- json_object *obj,
- const char *key,
- bool log_error)
-{
- const char *str;
-#if JSON_HAS_GET_EX
- json_object *str_obj;
-
- if (!json_object_object_get_ex(obj, key, &str_obj))
- goto nullobj;
- str = json_object_get_string(str_obj);
- if (FWTS_JSON_ERROR(str))
- goto nullobj;
-#else
- str = json_object_get_string(json_object_object_get(obj, key));
- if (FWTS_JSON_ERROR(str))
- goto nullobj;
-#endif
- return str;
-nullobj:
- if (log_error)
- fwts_log_error(fw, "Cannot fetch %s val from item %d, table %s.",
- key, index, table);
- return NULL;
-}
-
static int fwts_klog_check(fwts_framework *fw,
const char *table,
fwts_klog_progress_func progress,
diff --git a/src/lib/src/fwts_log_scan.c b/src/lib/src/fwts_log_scan.c
index 3146554a..f9ed7b35 100644
--- a/src/lib/src/fwts_log_scan.c
+++ b/src/lib/src/fwts_log_scan.c
@@ -310,3 +310,38 @@ fwts_compare_mode fwts_log_compare_mode_str_to_val(const char *str)
else
return FWTS_COMPARE_UNKNOWN;
}
+
+/*
+ * fwts_json_str()
+ * given a key, fetch the string value associated with this object
+ * and report an error if it cannot be found.
+ */
+const char *fwts_json_str(
+ fwts_framework *fw,
+ const char *table,
+ int index,
+ json_object *obj,
+ const char *key,
+ bool log_error)
+{
+ const char *str;
+#if JSON_HAS_GET_EX
+ json_object *str_obj;
+
+ if (!json_object_object_get_ex(obj, key, &str_obj))
+ goto nullobj;
+ str = json_object_get_string(str_obj);
+ if (FWTS_JSON_ERROR(str))
+ goto nullobj;
+#else
+ str = json_object_get_string(json_object_object_get(obj, key));
+ if (FWTS_JSON_ERROR(str))
+ goto nullobj;
+#endif
+ return str;
+nullobj:
+ if (log_error)
+ fwts_log_error(fw, "Cannot fetch %s val from item %d, table %s.",
+ key, index, table);
+ return NULL;
+}
--
2.16.4
More information about the fwts-devel
mailing list