| 260 { |
260 { |
| 261 gchar *slice; |
261 gchar *slice; |
| 262 JsonNode *root; |
262 JsonNode *root; |
| 263 JsonParser *prsr; |
263 JsonParser *prsr; |
| 264 |
264 |
| |
265 g_return_val_if_fail(data != NULL, NULL); |
| |
266 |
| |
267 if (size < 0) { |
| |
268 size = strlen(data); |
| |
269 } |
| |
270 |
| 265 /* Ensure data is null terminated for json-glib < 1.0.2 */ |
271 /* Ensure data is null terminated for json-glib < 1.0.2 */ |
| 266 slice = g_strndup(data, size); |
272 slice = g_strndup(data, size); |
| 267 |
|
| 268 prsr = json_parser_new(); |
273 prsr = json_parser_new(); |
| 269 |
274 |
| 270 if (!json_parser_load_from_data(prsr, slice, size, error)) { |
275 if (!json_parser_load_from_data(prsr, slice, size, error)) { |
| 271 g_object_unref(prsr); |
276 g_object_unref(prsr); |
| 272 g_free(slice); |
277 g_free(slice); |