Lines Matching refs:reader
369 fill_numbuflen(js_read_T *reader) in fill_numbuflen() argument
371 if (reader->js_fill != NULL && (int)(reader->js_end - reader->js_buf) in fill_numbuflen()
372 - reader->js_used < NUMBUFLEN) in fill_numbuflen()
374 if (reader->js_fill(reader)) in fill_numbuflen()
375 reader->js_end = reader->js_buf + STRLEN(reader->js_buf); in fill_numbuflen()
385 json_skip_white(js_read_T *reader) in json_skip_white() argument
391 c = reader->js_buf[reader->js_used]; in json_skip_white()
392 if (reader->js_fill != NULL && c == NUL) in json_skip_white()
394 if (reader->js_fill(reader)) in json_skip_white()
396 reader->js_end = reader->js_buf + STRLEN(reader->js_buf); in json_skip_white()
402 ++reader->js_used; in json_skip_white()
404 fill_numbuflen(reader); in json_skip_white()
408 json_decode_string(js_read_T *reader, typval_T *res, int quote) in json_decode_string() argument
419 p = reader->js_buf + reader->js_used + 1; // skip over " or ' in json_decode_string()
428 if (reader->js_fill == NULL) in json_decode_string()
430 len = (int)(reader->js_end - p); in json_decode_string()
431 reader->js_used = (int)(p - reader->js_buf); in json_decode_string()
432 if (!reader->js_fill(reader)) in json_decode_string()
434 p = reader->js_buf + reader->js_used; in json_decode_string()
435 reader->js_end = reader->js_buf + STRLEN(reader->js_buf); in json_decode_string()
452 if (reader->js_fill != NULL in json_decode_string()
453 && (int)(reader->js_end - p) < NUMBUFLEN) in json_decode_string()
455 reader->js_used = (int)(p - reader->js_buf); in json_decode_string()
456 if (reader->js_fill(reader)) in json_decode_string()
458 p = reader->js_buf + reader->js_used; in json_decode_string()
459 reader->js_end = reader->js_buf in json_decode_string()
460 + STRLEN(reader->js_buf); in json_decode_string()
475 && (int)(reader->js_end - p) >= 6 in json_decode_string()
534 reader->js_used = (int)(p - reader->js_buf); in json_decode_string()
537 ++reader->js_used; in json_decode_string()
594 json_decode_item(js_read_T *reader, typval_T *res, int options) in json_decode_item() argument
612 fill_numbuflen(reader); in json_decode_item()
613 p = reader->js_buf + reader->js_used; in json_decode_item()
620 json_skip_white(reader); in json_decode_item()
621 p = reader->js_buf + reader->js_used; in json_decode_item()
633 ++reader->js_used; // consume the ']' or '}' in json_decode_item()
649 && reader->js_buf[reader->js_used] != '"' in json_decode_item()
650 && reader->js_buf[reader->js_used] != '\'' in json_decode_item()
651 && reader->js_buf[reader->js_used] != '[' in json_decode_item()
652 && reader->js_buf[reader->js_used] != '{') in json_decode_item()
657 key = p = reader->js_buf + reader->js_used; in json_decode_item()
666 reader->js_used += (int)(p - key); in json_decode_item()
691 ++reader->js_used; // consume the '[' in json_decode_item()
722 ++reader->js_used; // consume the '{' in json_decode_item()
735 retval = json_decode_string(reader, cur_item, *p); in json_decode_item()
740 retval = json_decode_string(reader, cur_item, *p); in json_decode_item()
808 vim_str2nr(reader->js_buf + reader->js_used, in json_decode_item()
823 reader->js_used += len; in json_decode_item()
829 reader->js_used += 5; in json_decode_item()
840 reader->js_used += 4; in json_decode_item()
851 reader->js_used += 4; in json_decode_item()
863 reader->js_used += 3; in json_decode_item()
874 reader->js_used += 9; in json_decode_item()
885 reader->js_used += 8; in json_decode_item()
896 len = (int)(reader->js_end in json_decode_item()
897 - (reader->js_buf + reader->js_used)); in json_decode_item()
964 json_skip_white(reader); in json_decode_item()
965 p = reader->js_buf + reader->js_used; in json_decode_item()
967 ++reader->js_used; in json_decode_item()
982 json_skip_white(reader); in json_decode_item()
983 p = reader->js_buf + reader->js_used; in json_decode_item()
997 ++reader->js_used; in json_decode_item()
998 json_skip_white(reader); in json_decode_item()
1037 json_skip_white(reader); in json_decode_item()
1038 p = reader->js_buf + reader->js_used; in json_decode_item()
1040 ++reader->js_used; in json_decode_item()
1082 json_decode_all(js_read_T *reader, typval_T *res, int options) in json_decode_all() argument
1087 reader->js_end = reader->js_buf + STRLEN(reader->js_buf); in json_decode_all()
1088 json_skip_white(reader); in json_decode_all()
1089 ret = json_decode_item(reader, res, options); in json_decode_all()
1093 semsg(_(e_json_error), reader->js_buf); in json_decode_all()
1096 json_skip_white(reader); in json_decode_all()
1097 if (reader->js_buf[reader->js_used] != NUL) in json_decode_all()
1099 semsg(_(e_trailing_arg), reader->js_buf + reader->js_used); in json_decode_all()
1114 json_decode(js_read_T *reader, typval_T *res, int options) in json_decode() argument
1119 reader->js_end = reader->js_buf + STRLEN(reader->js_buf); in json_decode()
1120 json_skip_white(reader); in json_decode()
1121 ret = json_decode_item(reader, res, options); in json_decode()
1122 json_skip_white(reader); in json_decode()
1139 json_find_end(js_read_T *reader, int options) in json_find_end() argument
1141 int used_save = reader->js_used; in json_find_end()
1145 reader->js_end = reader->js_buf + STRLEN(reader->js_buf); in json_find_end()
1146 json_skip_white(reader); in json_find_end()
1147 ret = json_decode_item(reader, NULL, options); in json_find_end()
1148 reader->js_used = used_save; in json_find_end()
1158 js_read_T reader; in f_js_decode() local
1163 reader.js_buf = tv_get_string(&argvars[0]); in f_js_decode()
1164 reader.js_fill = NULL; in f_js_decode()
1165 reader.js_used = 0; in f_js_decode()
1166 if (json_decode_all(&reader, rettv, JSON_JS) != OK) in f_js_decode()
1186 js_read_T reader; in f_json_decode() local
1191 reader.js_buf = tv_get_string(&argvars[0]); in f_json_decode()
1192 reader.js_fill = NULL; in f_json_decode()
1193 reader.js_used = 0; in f_json_decode()
1194 json_decode_all(&reader, rettv, 0); in f_json_decode()