mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-03 09:40:44 +00:00
42 lines
1.2 KiB
Diff
42 lines
1.2 KiB
Diff
|
From 1cc755d7c3989b399bf0c60535a858d22819ca27 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
|
||
|
Date: Sun, 12 Jan 2020 22:40:18 +0100
|
||
|
Subject: blobmsg_json: fix int16 serialization
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
int16 blobmsg type is currently being serialized as uint16_t due to
|
||
|
missing cast during JSON output.
|
||
|
|
||
|
Following blobmsg content:
|
||
|
|
||
|
bar-min: -32768 (i16)
|
||
|
bar-max: 32767 (i16)
|
||
|
|
||
|
Produces following JSON:
|
||
|
|
||
|
{ "bar-min":32768,"bar-max":32767 }
|
||
|
|
||
|
Whereas one would expect:
|
||
|
|
||
|
{ "bar-min":-32768,"bar-max":32767 }
|
||
|
|
||
|
Reviewed-by: Jo-Philipp Wich <jo@mein.io>
|
||
|
Signed-off-by: Petr Štetiar <ynezz@true.cz>
|
||
|
---
|
||
|
blobmsg_json.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
--- a/blobmsg_json.c
|
||
|
+++ b/blobmsg_json.c
|
||
|
@@ -250,7 +250,7 @@ static void blobmsg_format_element(struc
|
||
|
sprintf(buf, "%s", *(uint8_t *)data ? "true" : "false");
|
||
|
break;
|
||
|
case BLOBMSG_TYPE_INT16:
|
||
|
- sprintf(buf, "%d", be16_to_cpu(*(uint16_t *)data));
|
||
|
+ sprintf(buf, "%d", (int16_t) be16_to_cpu(*(uint16_t *)data));
|
||
|
break;
|
||
|
case BLOBMSG_TYPE_INT32:
|
||
|
sprintf(buf, "%d", (int32_t) be32_to_cpu(*(uint32_t *)data));
|