summaryrefslogtreecommitdiff
path: root/src/basic/json.c
diff options
context:
space:
mode:
authorShawn Landden <shawn@churchofgit.com>2015-10-31 20:39:15 -0700
committerShawn Landden <shawn@churchofgit.com>2015-10-31 21:00:57 -0700
commit025b4c410577a10692c608e7dbad712655abb858 (patch)
tree3de2fe13c9a9d9fd778abdcfb1abbb97c202e834 /src/basic/json.c
parent534e8f89d6367cd0e9e17fff67880fb430071d01 (diff)
utf8.[ch]: use char32_t and char16_t instead of int, int32_t, int16_t
rework C11 utf8.[ch] to use char32_t instead of uint32_t when referring to unicode chars, to make things more expressive.
Diffstat (limited to 'src/basic/json.c')
-rw-r--r--src/basic/json.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/basic/json.c b/src/basic/json.c
index 716705e5ff..a22bc865a7 100644
--- a/src/basic/json.c
+++ b/src/basic/json.c
@@ -319,7 +319,7 @@ static int json_parse_string(const char **p, char **ret) {
else if (*c == 't')
ch = '\t';
else if (*c == 'u') {
- uint16_t x;
+ char16_t x;
int r;
r = unhex_ucs2(c + 1, &x);
@@ -332,7 +332,7 @@ static int json_parse_string(const char **p, char **ret) {
return -ENOMEM;
if (!utf16_is_surrogate(x))
- n += utf8_encode_unichar(s + n, x);
+ n += utf8_encode_unichar(s + n, (char32_t) x);
else if (utf16_is_trailing_surrogate(x))
return -EINVAL;
else {