jsoninfo: helpers: add abuf_json_ip_address
authorFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 3 Dec 2015 10:28:43 +0000 (11:28 +0100)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 3 Dec 2015 12:24:48 +0000 (13:24 +0100)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
lib/jsoninfo/src/olsrd_jsoninfo_helpers.c
lib/jsoninfo/src/olsrd_jsoninfo_helpers.h

index d8526a0..23d3b1e 100644 (file)
@@ -41,6 +41,7 @@
 
 #include "olsrd_jsoninfo_helpers.h"
 #include "olsr.h"
+#include "ipcalc.h"
 
 #include <stdbool.h>
 #include <assert.h>
@@ -152,6 +153,16 @@ void abuf_json_float(struct autobuf *abuf, const char* key, double value) {
   entrynumber[currentjsondepth]++;
 }
 
+void abuf_json_ip_address(struct autobuf *abuf, const char* key, union olsr_ip_addr *ip) {
+  struct ipaddr_str ipStr;
+  const char * value = olsr_ip_to_string(&ipStr, ip);
+
+  abuf_json_insert_comma(abuf);
+  abuf_json_new_indent(abuf);
+  abuf_appendf(abuf, "\"%s\": \"%s\"", key, value);
+  entrynumber[currentjsondepth]++;
+}
+
 /* Linux specific functions for getting system info */
 
 #ifdef __linux__
index 633cbcf..3368635 100644 (file)
@@ -68,6 +68,8 @@ void abuf_json_int(struct autobuf *abuf, const char* key, long value);
 
 void abuf_json_float(struct autobuf *abuf, const char* key, double value);
 
+void abuf_json_ip_address(struct autobuf *abuf, const char* key, union olsr_ip_addr *ip);
+
 #ifdef __linux__
 void abuf_json_sys_class_net(struct autobuf *abuf, const char* key, const char* ifname, const char* datapoint);
 #endif /* __linux__ */