Lines Matching refs:input_buffer
266 static cJSON_bool parse_number(cJSON * const item, parse_buffer * const input_buffer) in parse_number() argument
274 if ((input_buffer == NULL) || (input_buffer->content == NULL)) in parse_number()
282 for (i = 0; (i < (sizeof(number_c_string) - 1)) && can_access_at_index(input_buffer, i); i++) in parse_number()
284 switch (buffer_at_offset(input_buffer)[i]) in parse_number() local
300 number_c_string[i] = buffer_at_offset(input_buffer)[i]; in parse_number()
338 input_buffer->offset += (size_t)(after_end - number_c_string); in parse_number()
698 static cJSON_bool parse_string(cJSON * const item, parse_buffer * const input_buffer) in parse_string() argument
700 const unsigned char *input_pointer = buffer_at_offset(input_buffer) + 1; in parse_string()
701 const unsigned char *input_end = buffer_at_offset(input_buffer) + 1; in parse_string()
706 if (buffer_at_offset(input_buffer)[0] != '\"') in parse_string() local
715 …while (((size_t)(input_end - input_buffer->content) < input_buffer->length) && (*input_end != '\"'… in parse_string()
720 if ((size_t)(input_end + 1 - input_buffer->content) >= input_buffer->length) in parse_string()
730 … if (((size_t)(input_end - input_buffer->content) >= input_buffer->length) || (*input_end != '\"')) in parse_string()
736 allocation_length = (size_t) (input_end - buffer_at_offset(input_buffer)) - skipped_bytes; in parse_string()
737 output = (unsigned char*)input_buffer->hooks.allocate(allocation_length + sizeof("")); in parse_string()
807 input_buffer->offset = (size_t) (input_end - input_buffer->content); in parse_string()
808 input_buffer->offset++; in parse_string()
815 input_buffer->hooks.deallocate(output); in parse_string()
820 input_buffer->offset = (size_t)(input_pointer - input_buffer->content); in parse_string()
955 static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer);
957 static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer);
959 static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer);
1212 static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer) in parse_value() argument
1214 if ((input_buffer == NULL) || (input_buffer->content == NULL)) in parse_value()
1221 …if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "null", 4) … in parse_value()
1224 input_buffer->offset += 4; in parse_value()
1228 …if (can_read(input_buffer, 5) && (strncmp((const char*)buffer_at_offset(input_buffer), "false", 5)… in parse_value()
1231 input_buffer->offset += 5; in parse_value()
1235 …if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "true", 4) … in parse_value()
1239 input_buffer->offset += 4; in parse_value()
1243 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '\"')) in parse_value()
1245 return parse_string(item, input_buffer); in parse_value()
1248 …dex(input_buffer, 0) && ((buffer_at_offset(input_buffer)[0] == '-') || ((buffer_at_offset(input_bu… in parse_value()
1250 return parse_number(item, input_buffer); in parse_value()
1253 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '[')) in parse_value()
1255 return parse_array(item, input_buffer); in parse_value()
1258 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '{')) in parse_value()
1260 return parse_object(item, input_buffer); in parse_value()
1341 static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer) in parse_array() argument
1346 if (input_buffer->depth >= CJSON_NESTING_LIMIT) in parse_array()
1350 input_buffer->depth++; in parse_array()
1352 if (buffer_at_offset(input_buffer)[0] != '[') in parse_array() local
1358 input_buffer->offset++; in parse_array()
1359 buffer_skip_whitespace(input_buffer); in parse_array()
1360 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ']')) in parse_array()
1367 if (cannot_access_at_index(input_buffer, 0)) in parse_array()
1369 input_buffer->offset--; in parse_array()
1374 input_buffer->offset--; in parse_array()
1379 cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks)); in parse_array()
1400 input_buffer->offset++; in parse_array()
1401 buffer_skip_whitespace(input_buffer); in parse_array()
1402 if (!parse_value(current_item, input_buffer)) in parse_array()
1406 buffer_skip_whitespace(input_buffer); in parse_array()
1408 while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ',')); in parse_array()
1410 if (cannot_access_at_index(input_buffer, 0) || buffer_at_offset(input_buffer)[0] != ']') in parse_array()
1416 input_buffer->depth--; in parse_array()
1421 input_buffer->offset++; in parse_array()
1497 static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer) in parse_object() argument
1502 if (input_buffer->depth >= CJSON_NESTING_LIMIT) in parse_object()
1506 input_buffer->depth++; in parse_object()
1508 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '{')) in parse_object()
1513 input_buffer->offset++; in parse_object()
1514 buffer_skip_whitespace(input_buffer); in parse_object()
1515 if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '}')) in parse_object()
1521 if (cannot_access_at_index(input_buffer, 0)) in parse_object()
1523 input_buffer->offset--; in parse_object()
1528 input_buffer->offset--; in parse_object()
1533 cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks)); in parse_object()
1554 input_buffer->offset++; in parse_object()
1555 buffer_skip_whitespace(input_buffer); in parse_object()
1556 if (!parse_string(current_item, input_buffer)) in parse_object()
1560 buffer_skip_whitespace(input_buffer); in parse_object()
1566 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != ':')) in parse_object()
1572 input_buffer->offset++; in parse_object()
1573 buffer_skip_whitespace(input_buffer); in parse_object()
1574 if (!parse_value(current_item, input_buffer)) in parse_object()
1578 buffer_skip_whitespace(input_buffer); in parse_object()
1580 while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ',')); in parse_object()
1582 if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '}')) in parse_object()
1588 input_buffer->depth--; in parse_object()
1593 input_buffer->offset++; in parse_object()