From: Steven Seungcheol Lee Date: Wed, 7 Sep 2022 09:11:34 +0000 (+0200) Subject: util/json: Add 128 bit JSON helpers X-Git-Tag: v2.2~34^2~4 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a1fe47543688746ed14faed396c10c489a40ab77;p=users%2Fsagi%2Fnvme-cli.git util/json: Add 128 bit JSON helpers Signed-off-by: Steven Seungcheol Lee [dwagner: refactoring] Signed-off-by: Daniel Wagner --- diff --git a/util/json.c b/util/json.c index 8627bc8e..e10463e9 100644 --- a/util/json.c +++ b/util/json.c @@ -2,6 +2,7 @@ #include #include "json.h" +#include "types.h" struct json_object *util_json_object_new_double(long double d) { @@ -32,3 +33,10 @@ struct json_object *util_json_object_new_uint64(uint64_t i) return obj; } + +struct json_object *util_json_object_new_uint128(__uint128_t val) +{ + struct json_object *obj; + obj = json_object_new_string(uint128_t_to_string(val)); + return obj; +} diff --git a/util/json.h b/util/json.h index b5efe14c..c4abd264 100644 --- a/util/json.h +++ b/util/json.h @@ -21,6 +21,8 @@ #define json_object_add_value_uint64(o, k, v) \ json_object_object_add(o, k, util_json_object_new_uint64(v)) #endif +#define json_object_add_value_uint128(o, k, v) \ + json_object_object_add(o, k, util_json_object_new_uint128(v)) #define json_object_add_value_double(o, k, v) \ json_object_object_add(o, k, util_json_object_new_double(v)) #define json_object_add_value_float(o, k, v) \ @@ -42,5 +44,6 @@ struct json_object *util_json_object_new_double(long double d); struct json_object *util_json_object_new_uint64(uint64_t i); +struct json_object *util_json_object_new_uint128(__uint128_t val); #endif