Lines Matching refs:input_buffer

324 static cJSON_bool parse_number(cJSON * const item, parse_buffer * const input_buffer)
334 if ((input_buffer == NULL) || (input_buffer->content == NULL))
342 for (i = 0; (i < (sizeof(number_c_string) - 1)) && can_access_at_index(input_buffer, i); i++)
344 switch (buffer_at_offset(input_buffer)[i])
358 number_c_string[i] = buffer_at_offset(input_buffer)[i];
362 number_c_string[i] = buffer_at_offset(input_buffer)[i];
418 input_buffer->offset += (size_t)(after_end - number_c_string);
423 static cJSON_bool parse_number(cJSON * const item, parse_buffer * const input_buffer)
431 if ((input_buffer == NULL) || (input_buffer->content == NULL))
439 for (i = 0; (i < (sizeof(number_c_string) - 1)) && can_access_at_index(input_buffer, i); i++)
441 switch (buffer_at_offset(input_buffer)[i])
457 number_c_string[i] = buffer_at_offset(input_buffer)[i];
495 input_buffer->offset += (size_t)(after_end - number_c_string);
1016 static cJSON_bool parse_string(cJSON * const item, parse_buffer * const input_buffer)
1018 const unsigned char *input_pointer = buffer_at_offset(input_buffer) + 1;
1019 const unsigned char *input_end = buffer_at_offset(input_buffer) + 1;
1024 if (buffer_at_offset(input_buffer)[0] != '\"')
1033 while (((size_t)(input_end - input_buffer->content) < input_buffer->length) && (*input_end != '\"'))
1038 if ((size_t)(input_end + 1 - input_buffer->content) >= input_buffer->length)
1048 if (((size_t)(input_end - input_buffer->content) >= input_buffer->length) || (*input_end != '\"'))
1054 allocation_length = (size_t) (input_end - buffer_at_offset(input_buffer)) - skipped_bytes;
1055 output = (unsigned char*)input_buffer->hooks.allocate(allocation_length + sizeof(""));
1125 input_buffer->offset = (size_t) (input_end - input_buffer->content);
1126 input_buffer->offset++;
1133 input_buffer->hooks.deallocate(output);
1138 input_buffer->offset = (size_t)(input_pointer - input_buffer->content);
1273 static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer);
1275 static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer);
1277 static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer);
1555 static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer)
1557 if ((input_buffer == NULL) || (input_buffer->content == NULL))
1564 if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "null", 4) == 0))
1567 input_buffer->offset += 4;
1571 if (can_read(input_buffer, 5) && (strncmp((const char*)buffer_at_offset(input_buffer), "false", 5) == 0))
1574 input_buffer->offset += 5;
1578 if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "true", 4) == 0))
1582 input_buffer->offset += 4;
1586 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '\"'))
1588 return parse_string(item, input_buffer);
1591 if (can_access_at_index(input_buffer, 0) && ((buffer_at_offset(input_buffer)[0] == '-') || ((buffer_at_offset(input_buffer)[0] >= '0') && (buffer_at_offset(input_buffer)[0] <= '9'))))
1593 return parse_number(item, input_buffer);
1596 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '['))
1598 return parse_array(item, input_buffer);
1601 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '{'))
1603 return parse_object(item, input_buffer);
1684 static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer)
1689 if (input_buffer->depth >= CJSON_NESTING_LIMIT)
1693 input_buffer->depth++;
1695 if (buffer_at_offset(input_buffer)[0] != '[')
1701 input_buffer->offset++;
1702 buffer_skip_whitespace(input_buffer);
1703 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ']'))
1710 if (cannot_access_at_index(input_buffer, 0))
1712 input_buffer->offset--;
1717 input_buffer->offset--;
1722 cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks));
1743 input_buffer->offset++;
1744 buffer_skip_whitespace(input_buffer);
1745 if (!parse_value(current_item, input_buffer))
1749 buffer_skip_whitespace(input_buffer);
1751 while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ','));
1753 if (cannot_access_at_index(input_buffer, 0) || buffer_at_offset(input_buffer)[0] != ']')
1759 input_buffer->depth--;
1768 input_buffer->offset++;
1844 static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer)
1849 if (input_buffer->depth >= CJSON_NESTING_LIMIT)
1853 input_buffer->depth++;
1855 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '{'))
1860 input_buffer->offset++;
1861 buffer_skip_whitespace(input_buffer);
1862 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '}'))
1868 if (cannot_access_at_index(input_buffer, 0))
1870 input_buffer->offset--;
1875 input_buffer->offset--;
1880 cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks));
1900 if (cannot_access_at_index(input_buffer, 1))
1906 input_buffer->offset++;
1907 buffer_skip_whitespace(input_buffer);
1908 if (!parse_string(current_item, input_buffer))
1912 buffer_skip_whitespace(input_buffer);
1918 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != ':'))
1924 input_buffer->offset++;
1925 buffer_skip_whitespace(input_buffer);
1926 if (!parse_value(current_item, input_buffer))
1930 buffer_skip_whitespace(input_buffer);
1932 while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ','));
1934 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '}'))
1940 input_buffer->depth--;
1949 input_buffer->offset++;