Lines Matching refs:input_buffer
305 static cJSON_bool parse_number(cJSON * const item, parse_buffer * const input_buffer) in parse_number() argument
313 if ((input_buffer == NULL) || (input_buffer->content == NULL)) in parse_number()
321 for (i = 0; (i < (sizeof(number_c_string) - 1)) && can_access_at_index(input_buffer, i); i++) in parse_number()
323 switch (buffer_at_offset(input_buffer)[i]) in parse_number() local
339 number_c_string[i] = buffer_at_offset(input_buffer)[i]; in parse_number()
377 input_buffer->offset += (size_t)(after_end - number_c_string); in parse_number()
769 static cJSON_bool parse_string(cJSON * const item, parse_buffer * const input_buffer) in parse_string() argument
771 const unsigned char *input_pointer = buffer_at_offset(input_buffer) + 1; in parse_string()
772 const unsigned char *input_end = buffer_at_offset(input_buffer) + 1; in parse_string()
777 if (buffer_at_offset(input_buffer)[0] != '\"') in parse_string() local
786 …while (((size_t)(input_end - input_buffer->content) < input_buffer->length) && (*input_end != '\"'… in parse_string()
791 if ((size_t)(input_end + 1 - input_buffer->content) >= input_buffer->length) in parse_string()
801 … if (((size_t)(input_end - input_buffer->content) >= input_buffer->length) || (*input_end != '\"')) in parse_string()
807 allocation_length = (size_t) (input_end - buffer_at_offset(input_buffer)) - skipped_bytes; in parse_string()
808 output = (unsigned char*)input_buffer->hooks.allocate(allocation_length + sizeof("")); in parse_string()
878 input_buffer->offset = (size_t) (input_end - input_buffer->content); in parse_string()
879 input_buffer->offset++; in parse_string()
886 input_buffer->hooks.deallocate(output); in parse_string()
891 input_buffer->offset = (size_t)(input_pointer - input_buffer->content); in parse_string()
1026 static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer);
1028 static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer);
1030 static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer);
1308 static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer) in parse_value() argument
1310 if ((input_buffer == NULL) || (input_buffer->content == NULL)) in parse_value()
1317 …if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "null", 4) … in parse_value()
1320 input_buffer->offset += 4; in parse_value()
1324 …if (can_read(input_buffer, 5) && (strncmp((const char*)buffer_at_offset(input_buffer), "false", 5)… in parse_value()
1327 input_buffer->offset += 5; in parse_value()
1331 …if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "true", 4) … in parse_value()
1335 input_buffer->offset += 4; in parse_value()
1339 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '\"')) in parse_value()
1341 return parse_string(item, input_buffer); in parse_value()
1344 …dex(input_buffer, 0) && ((buffer_at_offset(input_buffer)[0] == '-') || ((buffer_at_offset(input_bu… in parse_value()
1346 return parse_number(item, input_buffer); in parse_value()
1349 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '[')) in parse_value()
1351 return parse_array(item, input_buffer); in parse_value()
1354 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '{')) in parse_value()
1356 return parse_object(item, input_buffer); in parse_value()
1437 static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer) in parse_array() argument
1442 if (input_buffer->depth >= CJSON_NESTING_LIMIT) in parse_array()
1446 input_buffer->depth++; in parse_array()
1448 if (buffer_at_offset(input_buffer)[0] != '[') in parse_array() local
1454 input_buffer->offset++; in parse_array()
1455 buffer_skip_whitespace(input_buffer); in parse_array()
1456 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ']')) in parse_array()
1463 if (cannot_access_at_index(input_buffer, 0)) in parse_array()
1465 input_buffer->offset--; in parse_array()
1470 input_buffer->offset--; in parse_array()
1475 cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks)); in parse_array()
1496 input_buffer->offset++; in parse_array()
1497 buffer_skip_whitespace(input_buffer); in parse_array()
1498 if (!parse_value(current_item, input_buffer)) in parse_array()
1502 buffer_skip_whitespace(input_buffer); in parse_array()
1504 while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ',')); in parse_array()
1506 if (cannot_access_at_index(input_buffer, 0) || buffer_at_offset(input_buffer)[0] != ']') in parse_array()
1512 input_buffer->depth--; in parse_array()
1521 input_buffer->offset++; in parse_array()
1597 static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer) in parse_object() argument
1602 if (input_buffer->depth >= CJSON_NESTING_LIMIT) in parse_object()
1606 input_buffer->depth++; in parse_object()
1608 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '{')) in parse_object()
1613 input_buffer->offset++; in parse_object()
1614 buffer_skip_whitespace(input_buffer); in parse_object()
1615 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '}')) in parse_object()
1621 if (cannot_access_at_index(input_buffer, 0)) in parse_object()
1623 input_buffer->offset--; in parse_object()
1628 input_buffer->offset--; in parse_object()
1633 cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks)); in parse_object()
1654 input_buffer->offset++; in parse_object()
1655 buffer_skip_whitespace(input_buffer); in parse_object()
1656 if (!parse_string(current_item, input_buffer)) in parse_object()
1660 buffer_skip_whitespace(input_buffer); in parse_object()
1666 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != ':')) in parse_object()
1672 input_buffer->offset++; in parse_object()
1673 buffer_skip_whitespace(input_buffer); in parse_object()
1674 if (!parse_value(current_item, input_buffer)) in parse_object()
1678 buffer_skip_whitespace(input_buffer); in parse_object()
1680 while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ',')); in parse_object()
1682 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '}')) in parse_object()
1688 input_buffer->depth--; in parse_object()
1697 input_buffer->offset++; in parse_object()