diff --git a/modules/misc/webservices/json.c b/modules/misc/webservices/json.c index 0afc01c..25dcfe7 100644 --- a/modules/misc/webservices/json.c +++ b/modules/misc/webservices/json.c @@ -131,7 +131,7 @@ static int new_value return 0; } - value->_reserved.object_mem = (*(char **) &value->u.object.values) + values_size; + value->_reserved.object_mem = (void *) (((char *) value->u.object.values) + values_size); value->u.object.length = 0; break; @@ -339,8 +340,10 @@ json_value * json_parse_ex (json_settings * settings, const json_char * json, ch case json_object: - if (state.first_pass) - (*(json_char **) &top->u.object.values) += string_length + 1; + if (state.first_pass) { + json_char **chars = (json_char **) &top->u.object.values; + chars[0] += string_length + 1; + } else { top->u.object.values [top->u.object.length].name