Add helpers for printing char-size values.

Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com>
Reviewed-by: Quentin Monnet <quentin.mon...@netronome.com>
---
 include/json_print.h  |  1 +
 include/json_writer.h |  2 ++
 lib/json_print.c      |  1 +
 lib/json_writer.c     | 11 +++++++++++
 4 files changed, 15 insertions(+)

diff --git a/include/json_print.h b/include/json_print.h
index 218da31a73fe..25954070db27 100644
--- a/include/json_print.h
+++ b/include/json_print.h
@@ -64,6 +64,7 @@ _PRINT_FUNC(null, const char*);
 _PRINT_FUNC(string, const char*);
 _PRINT_FUNC(uint, unsigned int);
 _PRINT_FUNC(u64, uint64_t);
+_PRINT_FUNC(hhu, unsigned char);
 _PRINT_FUNC(hu, unsigned short);
 _PRINT_FUNC(hex, unsigned int);
 _PRINT_FUNC(0xhex, unsigned long long int);
diff --git a/include/json_writer.h b/include/json_writer.h
index 0c8831c1136d..354c27541e89 100644
--- a/include/json_writer.h
+++ b/include/json_writer.h
@@ -38,6 +38,7 @@ void jsonw_float_fmt(json_writer_t *self, const char *fmt, 
double num);
 void jsonw_uint(json_writer_t *self, unsigned int number);
 void jsonw_u64(json_writer_t *self, uint64_t number);
 void jsonw_xint(json_writer_t *self, uint64_t number);
+void jsonw_hhu(json_writer_t *self, unsigned char num);
 void jsonw_hu(json_writer_t *self, unsigned short number);
 void jsonw_int(json_writer_t *self, int number);
 void jsonw_s64(json_writer_t *self, int64_t number);
@@ -52,6 +53,7 @@ void jsonw_float_field(json_writer_t *self, const char *prop, 
double num);
 void jsonw_uint_field(json_writer_t *self, const char *prop, unsigned int num);
 void jsonw_u64_field(json_writer_t *self, const char *prop, uint64_t num);
 void jsonw_xint_field(json_writer_t *self, const char *prop, uint64_t num);
+void jsonw_hhu_field(json_writer_t *self, const char *prop, unsigned char num);
 void jsonw_hu_field(json_writer_t *self, const char *prop, unsigned short num);
 void jsonw_int_field(json_writer_t *self, const char *prop, int num);
 void jsonw_s64_field(json_writer_t *self, const char *prop, int64_t num);
diff --git a/lib/json_print.c b/lib/json_print.c
index f7ef41c1570f..4f5fef195fde 100644
--- a/lib/json_print.c
+++ b/lib/json_print.c
@@ -118,6 +118,7 @@ void close_json_array(enum output_type type, const char 
*str)
        }
 _PRINT_FUNC(int, int);
 _PRINT_FUNC(s64, int64_t);
+_PRINT_FUNC(hhu, unsigned char);
 _PRINT_FUNC(hu, unsigned short);
 _PRINT_FUNC(uint, unsigned int);
 _PRINT_FUNC(u64, uint64_t);
diff --git a/lib/json_writer.c b/lib/json_writer.c
index 68890b34ee92..46eff6ad9828 100644
--- a/lib/json_writer.c
+++ b/lib/json_writer.c
@@ -211,6 +211,11 @@ void jsonw_float(json_writer_t *self, double num)
        jsonw_printf(self, "%g", num);
 }
 
+void jsonw_hhu(json_writer_t *self, unsigned char num)
+{
+       jsonw_printf(self, "%hhu", num);
+}
+
 void jsonw_hu(json_writer_t *self, unsigned short num)
 {
        jsonw_printf(self, "%hu", num);
@@ -288,6 +293,12 @@ void jsonw_xint_field(json_writer_t *self, const char 
*prop, uint64_t num)
        jsonw_xint(self, num);
 }
 
+void jsonw_hhu_field(json_writer_t *self, const char *prop, unsigned char num)
+{
+       jsonw_name(self, prop);
+       jsonw_hhu(self, num);
+}
+
 void jsonw_hu_field(json_writer_t *self, const char *prop, unsigned short num)
 {
        jsonw_name(self, prop);
-- 
2.17.1

Reply via email to