Lines Matching refs:siv

66     StringInputVisitor *siv = to_siv(v);  in start_list()  local
68 assert(siv->lm == LM_NONE); in start_list()
69 siv->list = list; in start_list()
70 siv->unparsed_string = siv->string; in start_list()
72 if (!siv->string[0]) { in start_list()
76 siv->lm = LM_END; in start_list()
81 siv->lm = LM_UNPARSED; in start_list()
88 StringInputVisitor *siv = to_siv(v); in next_list() local
90 switch (siv->lm) { in next_list()
108 const StringInputVisitor *siv = to_siv(v); in check_list() local
110 switch (siv->lm) { in check_list()
125 StringInputVisitor *siv = to_siv(v); in end_list() local
127 assert(siv->lm != LM_NONE); in end_list()
128 assert(siv->list == obj); in end_list()
129 siv->list = NULL; in end_list()
130 siv->unparsed_string = NULL; in end_list()
131 siv->lm = LM_NONE; in end_list()
134 static int try_parse_int64_list_entry(StringInputVisitor *siv, int64_t *obj) in try_parse_int64_list_entry() argument
140 if (qemu_strtoi64(siv->unparsed_string, &endptr, 0, &start)) { in try_parse_int64_list_entry()
147 siv->unparsed_string = endptr; in try_parse_int64_list_entry()
150 siv->unparsed_string = endptr + 1; in try_parse_int64_list_entry()
162 siv->unparsed_string = endptr; in try_parse_int64_list_entry()
165 siv->unparsed_string = endptr + 1; in try_parse_int64_list_entry()
176 siv->lm = LM_INT64_RANGE; in try_parse_int64_list_entry()
177 siv->rangeNext.i64 = start; in try_parse_int64_list_entry()
178 siv->rangeEnd.i64 = end; in try_parse_int64_list_entry()
185 StringInputVisitor *siv = to_siv(v); in parse_type_int64() local
188 switch (siv->lm) { in parse_type_int64()
191 if (qemu_strtoi64(siv->string, NULL, 0, &val)) { in parse_type_int64()
199 if (try_parse_int64_list_entry(siv, obj)) { in parse_type_int64()
204 assert(siv->lm == LM_INT64_RANGE); in parse_type_int64()
208 assert(siv->rangeNext.i64 <= siv->rangeEnd.i64); in parse_type_int64()
209 *obj = siv->rangeNext.i64++; in parse_type_int64()
211 if (siv->rangeNext.i64 > siv->rangeEnd.i64 || *obj == INT64_MAX) { in parse_type_int64()
213 siv->lm = siv->unparsed_string[0] ? LM_UNPARSED : LM_END; in parse_type_int64()
224 static int try_parse_uint64_list_entry(StringInputVisitor *siv, uint64_t *obj) in try_parse_uint64_list_entry() argument
230 if (qemu_strtou64(siv->unparsed_string, &endptr, 0, &start)) { in try_parse_uint64_list_entry()
237 siv->unparsed_string = endptr; in try_parse_uint64_list_entry()
240 siv->unparsed_string = endptr + 1; in try_parse_uint64_list_entry()
252 siv->unparsed_string = endptr; in try_parse_uint64_list_entry()
255 siv->unparsed_string = endptr + 1; in try_parse_uint64_list_entry()
266 siv->lm = LM_UINT64_RANGE; in try_parse_uint64_list_entry()
267 siv->rangeNext.u64 = start; in try_parse_uint64_list_entry()
268 siv->rangeEnd.u64 = end; in try_parse_uint64_list_entry()
275 StringInputVisitor *siv = to_siv(v); in parse_type_uint64() local
278 switch (siv->lm) { in parse_type_uint64()
281 if (qemu_strtou64(siv->string, NULL, 0, &val)) { in parse_type_uint64()
289 if (try_parse_uint64_list_entry(siv, obj)) { in parse_type_uint64()
294 assert(siv->lm == LM_UINT64_RANGE); in parse_type_uint64()
298 assert(siv->rangeNext.u64 <= siv->rangeEnd.u64); in parse_type_uint64()
299 *obj = siv->rangeNext.u64++; in parse_type_uint64()
301 if (siv->rangeNext.u64 > siv->rangeEnd.u64 || *obj == UINT64_MAX) { in parse_type_uint64()
303 siv->lm = siv->unparsed_string[0] ? LM_UNPARSED : LM_END; in parse_type_uint64()
317 StringInputVisitor *siv = to_siv(v); in parse_type_size() local
320 assert(siv->lm == LM_NONE); in parse_type_size()
321 if (!parse_option_size(name, siv->string, &val, errp)) { in parse_type_size()
332 StringInputVisitor *siv = to_siv(v); in parse_type_bool() local
334 assert(siv->lm == LM_NONE); in parse_type_bool()
335 return qapi_bool_parse(name ? name : "null", siv->string, obj, errp); in parse_type_bool()
341 StringInputVisitor *siv = to_siv(v); in parse_type_str() local
343 assert(siv->lm == LM_NONE); in parse_type_str()
344 *obj = g_strdup(siv->string); in parse_type_str()
351 StringInputVisitor *siv = to_siv(v); in parse_type_number() local
354 assert(siv->lm == LM_NONE); in parse_type_number()
355 if (qemu_strtod_finite(siv->string, NULL, &val)) { in parse_type_number()
368 StringInputVisitor *siv = to_siv(v); in parse_type_null() local
370 assert(siv->lm == LM_NONE); in parse_type_null()
373 if (siv->string[0]) { in parse_type_null()
385 StringInputVisitor *siv = to_siv(v); in string_input_free() local
387 g_free(siv); in string_input_free()