return str;
out:
- QDECREF(str);
+ qobject_unref(str);
return NULL;
}
*/
static int parse_pair(JSONParserContext *ctxt, QDict *dict, va_list *ap)
{
- QObject *key = NULL, *value;
+ QObject *value;
+ QString *key = NULL;
JSONToken *peek, *token;
peek = parser_context_peek_token(ctxt);
goto out;
}
- key = parse_value(ctxt, ap);
- if (!key || qobject_type(key) != QTYPE_QSTRING) {
+ key = qobject_to(QString, parse_value(ctxt, ap));
+ if (!key) {
parse_error(ctxt, peek, "key is not a string in object");
goto out;
}
goto out;
}
- qdict_put_obj(dict, qstring_get_str(qobject_to(QString, key)), value);
+ qdict_put_obj(dict, qstring_get_str(key), value);
- qobject_decref(key);
+ qobject_unref(key);
return 0;
out:
- qobject_decref(key);
+ qobject_unref(key);
return -1;
}
return QOBJECT(dict);
out:
- QDECREF(dict);
+ qobject_unref(dict);
return NULL;
}
return QOBJECT(list);
out:
- QDECREF(list);
+ qobject_unref(list);
return NULL;
}