Lines Matching refs:offset
52 size_t offset = 0; in Parse() local
53 while (offset < size && isspace(data[offset])) { in Parse()
54 ++offset; in Parse()
57 if (offset == size) { in Parse()
61 if (data[offset] == '[') { in Parse()
63 ++offset; in Parse()
66 while (offset < size && isspace(data[offset])) { in Parse()
67 ++offset; in Parse()
70 if (offset == size) { in Parse()
74 if (data[offset] == ']') { in Parse()
75 ++offset; in Parse()
80 ssize_t n = Parse(&data[offset], size - offset, &val); in Parse()
88 offset += n; in Parse()
90 while (offset < size && isspace(data[offset])) { in Parse()
91 ++offset; in Parse()
94 if (offset == size) { in Parse()
98 if (data[offset] == ',') { in Parse()
99 ++offset; in Parse()
100 } else if (data[offset] != ']') { in Parse()
107 return offset; in Parse()
108 } else if (data[offset] == '{') { in Parse()
110 ++offset; in Parse()
113 while (offset < size && isspace(data[offset])) { in Parse()
114 ++offset; in Parse()
117 if (offset == size) { in Parse()
121 if (data[offset] == '}') { in Parse()
122 ++offset; in Parse()
127 ssize_t n = Parse(&data[offset], size - offset, &key); in Parse()
137 offset += n; in Parse()
139 while (offset < size && isspace(data[offset])) { in Parse()
140 ++offset; in Parse()
143 if (offset == size || data[offset] != ':') { in Parse()
147 ++offset; in Parse()
150 n = Parse(&data[offset], size - offset, &val); in Parse()
161 offset += n; in Parse()
163 while (offset < size && isspace(data[offset])) { in Parse()
164 ++offset; in Parse()
167 if (offset == size) { in Parse()
171 if (data[offset] == ',') { in Parse()
172 ++offset; in Parse()
173 } else if (data[offset] != '}') { in Parse()
180 return offset; in Parse()
181 } else if (data[offset] == '"') { in Parse()
182 ++offset; in Parse()
186 while (offset < size) { in Parse()
189 switch (data[offset]) { in Parse()
193 c = data[offset]; in Parse()
215 ++offset; in Parse()
218 } else if (data[offset] == '\\') { in Parse()
220 } else if (data[offset] == '"') { in Parse()
224 s.append(data[offset++]); in Parse()
227 if (offset == size) { in Parse()
231 ++offset; in Parse()
234 return offset; in Parse()
235 } else if (isdigit(data[offset]) || data[offset] == '-') { in Parse()
237 if (data[offset] == '-') { in Parse()
239 ++offset; in Parse()
241 if (offset == size) { in Parse()
246 size_t firstDigitOffset = offset; in Parse()
247 while (offset < size && isdigit(data[offset])) { in Parse()
248 ++offset; in Parse()
251 size_t numDigits = offset - firstDigitOffset; in Parse()
260 if (offset < size && data[offset] == '.') { in Parse()
261 ++offset; in Parse()
263 firstFracDigitOffset = offset; in Parse()
264 while (offset < size && isdigit(data[offset])) { in Parse()
265 ++offset; in Parse()
268 numFracDigits = offset - firstFracDigitOffset; in Parse()
278 if (offset < size && (data[offset] == 'e' || data[offset] == 'E')) { in Parse()
279 ++offset; in Parse()
281 if (offset == size) { in Parse()
285 if (data[offset] == '+' || data[offset] == '-') { in Parse()
286 if (data[offset] == '-') { in Parse()
290 ++offset; in Parse()
293 firstExpDigitOffset = offset; in Parse()
294 while (offset < size && isdigit(data[offset])) { in Parse()
295 ++offset; in Parse()
298 numExpDigits = offset - firstExpDigitOffset; in Parse()
337 return offset; in Parse()
338 } else if (offset + 4 <= size && !strncmp("null", &data[offset], 4)) { in Parse()
340 return offset + 4; in Parse()
341 } else if (offset + 4 <= size && !strncmp("true", &data[offset], 4)) { in Parse()
343 return offset + 4; in Parse()
344 } else if (offset + 5 <= size && !strncmp("false", &data[offset], 5)) { in Parse()
346 return offset + 5; in Parse()