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