More fixes for old MSVC builds.

This commit is contained in:
Eric Haszlakiewicz
2020-06-07 15:25:59 +00:00
parent 0a16b23adf
commit c4cc673071

View File

@@ -1431,9 +1431,9 @@ static int json_object_string_to_json_string(struct json_object *jso, struct pri
int level, int flags) int level, int flags)
{ {
#define jso ((struct json_object_base *)jso) #define jso ((struct json_object_base *)jso)
printbuf_strappend(pb, "\"");
ssize_t len = JC_STRING(jso)->len; ssize_t len = JC_STRING(jso)->len;
json_escape_str(pb, get_string_component(jso), len < 0 ? -len : len, flags); printbuf_strappend(pb, "\"");
json_escape_str(pb, get_string_component(jso), len < 0 ? -(ssize_t)len : len, flags);
printbuf_strappend(pb, "\""); printbuf_strappend(pb, "\"");
return 0; return 0;
#undef jso #undef jso
@@ -1517,7 +1517,7 @@ int json_object_get_string_len(const struct json_object *jso)
{ {
case json_type_string: case json_type_string:
len = JC_STRING_C(jso)->len; len = JC_STRING_C(jso)->len;
return (len < 0) ? -len : len; return (len < 0) ? -(ssize_t)len : len;
default: return 0; default: return 0;
} }
#undef jso #undef jso
@@ -1554,13 +1554,13 @@ static int _json_object_set_string_len(json_object *jso, const char *s, size_t l
if (JC_STRING(jso)->len < 0) if (JC_STRING(jso)->len < 0)
free(JC_STRING(jso)->c_string.pdata); free(JC_STRING(jso)->c_string.pdata);
JC_STRING(jso)->c_string.pdata = dstbuf; JC_STRING(jso)->c_string.pdata = dstbuf;
newlen = -len; newlen = -(ssize_t)len;
} }
else if (JC_STRING(jso)->len < 0) else if (JC_STRING(jso)->len < 0)
{ {
// We've got enough room in the separate allocated buffer, // We've got enough room in the separate allocated buffer,
// so use it as-is and continue to indicate that pdata is used. // so use it as-is and continue to indicate that pdata is used.
newlen = -len; newlen = -(ssize_t)len;
} }
memcpy(dstbuf, (const void *)s, len); memcpy(dstbuf, (const void *)s, len);