Lines Matching refs:curr_token

222 	struct json_token *root = NULL, *curr_token = NULL, *token = NULL;  in json_parse()  local
236 if (!curr_token) { in json_parse()
242 } else if (curr_token->state == JSON_WAITING_VALUE) { in json_parse()
243 token = curr_token; in json_parse()
244 } else if (curr_token->parent && in json_parse()
245 curr_token->parent->type == JSON_ARRAY && in json_parse()
246 curr_token->parent->state == JSON_STARTED && in json_parse()
247 curr_token->state == JSON_EMPTY) { in json_parse()
248 token = curr_token; in json_parse()
265 curr_token = token->child; in json_parse()
266 curr_token->parent = token; in json_parse()
267 curr_token->state = JSON_EMPTY; in json_parse()
271 if (!curr_token || !curr_token->parent || in json_parse()
272 curr_token->parent->state != JSON_STARTED) { in json_parse()
278 curr_token = curr_token->parent; in json_parse()
280 curr_token->type != JSON_ARRAY) || in json_parse()
282 curr_token->type != JSON_OBJECT)) { in json_parse()
287 if (curr_token->child->state == JSON_EMPTY && in json_parse()
288 !curr_token->child->child && in json_parse()
289 !curr_token->child->sibling) { in json_parse()
292 json_free(curr_token->child); in json_parse()
293 curr_token->child = NULL; in json_parse()
295 curr_token->state = JSON_COMPLETED; in json_parse()
301 if (!curr_token) { in json_parse()
310 } else if (curr_token->parent && in json_parse()
311 curr_token->parent->type == JSON_ARRAY && in json_parse()
312 curr_token->parent->state == JSON_STARTED && in json_parse()
313 curr_token->state == JSON_EMPTY) { in json_parse()
314 curr_token->string = str; in json_parse()
315 curr_token->state = JSON_COMPLETED; in json_parse()
316 curr_token->type = JSON_STRING; in json_parse()
319 curr_token->string); in json_parse()
320 } else if (curr_token->state == JSON_EMPTY) { in json_parse()
321 curr_token->type = JSON_VALUE; in json_parse()
322 curr_token->name = str; in json_parse()
323 curr_token->state = JSON_STARTED; in json_parse()
324 } else if (curr_token->state == JSON_WAITING_VALUE) { in json_parse()
325 curr_token->string = str; in json_parse()
326 curr_token->state = JSON_COMPLETED; in json_parse()
327 curr_token->type = JSON_STRING; in json_parse()
330 curr_token->name, in json_parse()
331 curr_token->string); in json_parse()
346 if (!curr_token || curr_token->state != JSON_STARTED) in json_parse()
348 curr_token->state = JSON_WAITING_VALUE; in json_parse()
351 if (!curr_token) in json_parse()
353 curr_token->sibling = json_alloc_token(&tokens); in json_parse()
354 if (!curr_token->sibling) in json_parse()
356 curr_token->sibling->parent = curr_token->parent; in json_parse()
357 curr_token = curr_token->sibling; in json_parse()
358 curr_token->state = JSON_EMPTY; in json_parse()
373 if (!curr_token) { in json_parse()
377 curr_token = token; in json_parse()
378 } else if (curr_token->state == JSON_WAITING_VALUE) { in json_parse()
381 curr_token->name, *pos); in json_parse()
382 } else if (curr_token->parent && in json_parse()
383 curr_token->parent->type == JSON_ARRAY && in json_parse()
384 curr_token->parent->state == JSON_STARTED && in json_parse()
385 curr_token->state == JSON_EMPTY) { in json_parse()
395 curr_token->type = JSON_BOOLEAN; in json_parse()
396 curr_token->number = 1; in json_parse()
400 curr_token->type = JSON_BOOLEAN; in json_parse()
401 curr_token->number = 0; in json_parse()
405 curr_token->type = JSON_NULL; in json_parse()
409 curr_token->state = JSON_COMPLETED; in json_parse()
425 if (!curr_token) { in json_parse()
432 } else if (curr_token->state == JSON_WAITING_VALUE) { in json_parse()
433 curr_token->number = num; in json_parse()
434 curr_token->state = JSON_COMPLETED; in json_parse()
435 curr_token->type = JSON_NUMBER; in json_parse()
438 curr_token->name, in json_parse()
439 curr_token->number); in json_parse()
440 } else if (curr_token->parent && in json_parse()
441 curr_token->parent->type == JSON_ARRAY && in json_parse()
442 curr_token->parent->state == JSON_STARTED && in json_parse()
443 curr_token->state == JSON_EMPTY) { in json_parse()
444 curr_token->number = num; in json_parse()
445 curr_token->state = JSON_COMPLETED; in json_parse()
446 curr_token->type = JSON_NUMBER; in json_parse()
449 curr_token->number); in json_parse()
464 if (!curr_token) in json_parse()
465 curr_token = token; in json_parse()