[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/4] poke/pk-mi-json.c: Fix offset to JSON converter to handle ui
From: |
Mohammad-Reza Nabipoor |
Subject: |
[PATCH 3/4] poke/pk-mi-json.c: Fix offset to JSON converter to handle uint |
Date: |
Wed, 24 Mar 2021 02:03:09 +0430 |
2021-03-24 Mohammad-Reza Nabipoor <m.nabipoor@yahoo.com>
* poke/pk-mi-json.c (pk_mi_offset_to_json): Add support for `uint`
as magnitude of offsets.
---
ChangeLog | 5 +++++
poke/pk-mi-json.c | 7 +++++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2938f6ea..901deda3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2021-03-24 Mohammad-Reza Nabipoor <m.nabipoor@yahoo.com>
+
+ * poke/pk-mi-json.c (pk_mi_offset_to_json): Add support for `uint`
+ as magnitude of offsets.
+
2021-03-24 Mohammad-Reza Nabipoor <m.nabipoor@yahoo.com>
* libpoke/libpoke.h (pk_val_set_mapped): New function declaration.
diff --git a/poke/pk-mi-json.c b/poke/pk-mi-json.c
index 0d0d74df..82fbb34e 100644
--- a/poke/pk-mi-json.c
+++ b/poke/pk-mi-json.c
@@ -199,7 +199,7 @@ pk_mi_offset_to_json (pk_val pk_offset, char **errmsg)
json_object *magnitude_object;
json_object *unit_object, *unit_type_object, *unit_size_object;
json_object *unit_value_object;
- pk_val off_unit;
+ pk_val off_mag, off_unit;
assert (pk_type_code (pk_typeof (pk_offset)) == PK_OFFSET);
@@ -207,7 +207,10 @@ pk_mi_offset_to_json (pk_val pk_offset, char **errmsg)
PK_MI_CHECK (errmsg, offset_type_object != NULL,
"json_object_new_object () failed");
- magnitude_object = pk_mi_int_to_json (pk_offset_magnitude (pk_offset),
errmsg);
+ off_mag = pk_offset_magnitude (pk_offset);
+ magnitude_object = pk_type_code (pk_typeof (off_mag)) == PK_INT
+ ? pk_mi_int_to_json (off_mag, errmsg)
+ : pk_mi_uint_to_json (off_mag, errmsg);
unit_type_object = json_object_new_string ("UnsignedInteger");
PK_MI_CHECK (errmsg, unit_type_object != NULL,
--
2.31.0