Lines Matching refs:sov

76 static void string_output_set(StringOutputVisitor *sov, char *string)  in string_output_set()  argument
78 switch (sov->list_mode) { in string_output_set()
80 sov->list_mode = LM_IN_PROGRESS; in string_output_set()
83 if (sov->string) { in string_output_set()
84 g_string_free(sov->string, true); in string_output_set()
86 sov->string = g_string_new(string); in string_output_set()
92 g_string_append(sov->string, ", "); in string_output_set()
93 g_string_append(sov->string, string); in string_output_set()
101 static void string_output_append(StringOutputVisitor *sov, int64_t a) in string_output_append() argument
106 sov->ranges = range_list_insert(sov->ranges, r); in string_output_append()
109 static void string_output_append_range(StringOutputVisitor *sov, in string_output_append_range() argument
115 sov->ranges = range_list_insert(sov->ranges, r); in string_output_append_range()
118 static void format_string(StringOutputVisitor *sov, Range *r, bool next, in format_string() argument
123 g_string_append_printf(sov->string, "0x%" PRIx64 "-0x%" PRIx64, in format_string()
127 g_string_append_printf(sov->string, "%" PRId64 "-%" PRId64, in format_string()
132 g_string_append_printf(sov->string, "0x%" PRIx64, range_lob(r)); in format_string()
134 g_string_append_printf(sov->string, "%" PRId64, range_lob(r)); in format_string()
138 g_string_append(sov->string, ","); in format_string()
145 StringOutputVisitor *sov = to_sov(v); in print_type_int64() local
148 if (sov->struct_nesting) { in print_type_int64()
152 switch (sov->list_mode) { in print_type_int64()
154 string_output_append(sov, *obj); in print_type_int64()
158 sov->range_start.s = *obj; in print_type_int64()
159 sov->range_end.s = *obj; in print_type_int64()
160 sov->list_mode = LM_IN_PROGRESS; in print_type_int64()
164 if (sov->range_end.s + 1 == *obj) { in print_type_int64()
165 sov->range_end.s++; in print_type_int64()
167 if (sov->range_start.s == sov->range_end.s) { in print_type_int64()
168 string_output_append(sov, sov->range_end.s); in print_type_int64()
170 assert(sov->range_start.s < sov->range_end.s); in print_type_int64()
171 string_output_append_range(sov, sov->range_start.s, in print_type_int64()
172 sov->range_end.s); in print_type_int64()
175 sov->range_start.s = *obj; in print_type_int64()
176 sov->range_end.s = *obj; in print_type_int64()
181 if (sov->range_end.s + 1 == *obj) { in print_type_int64()
182 sov->range_end.s++; in print_type_int64()
183 assert(sov->range_start.s < sov->range_end.s); in print_type_int64()
184 string_output_append_range(sov, sov->range_start.s, in print_type_int64()
185 sov->range_end.s); in print_type_int64()
187 if (sov->range_start.s == sov->range_end.s) { in print_type_int64()
188 string_output_append(sov, sov->range_end.s); in print_type_int64()
190 assert(sov->range_start.s < sov->range_end.s); in print_type_int64()
192 string_output_append_range(sov, sov->range_start.s, in print_type_int64()
193 sov->range_end.s); in print_type_int64()
195 string_output_append(sov, *obj); in print_type_int64()
203 l = sov->ranges; in print_type_int64()
206 format_string(sov, r, l->next != NULL, false); in print_type_int64()
210 if (sov->human) { in print_type_int64()
211 l = sov->ranges; in print_type_int64()
212 g_string_append(sov->string, " ("); in print_type_int64()
215 format_string(sov, r, l->next != NULL, true); in print_type_int64()
218 g_string_append(sov->string, ")"); in print_type_int64()
235 StringOutputVisitor *sov = to_sov(v); in print_type_size() local
239 if (sov->struct_nesting) { in print_type_size()
243 if (!sov->human) { in print_type_size()
245 string_output_set(sov, out); in print_type_size()
252 string_output_set(sov, out); in print_type_size()
261 StringOutputVisitor *sov = to_sov(v); in print_type_bool() local
263 if (sov->struct_nesting) { in print_type_bool()
267 string_output_set(sov, g_strdup(*obj ? "true" : "false")); in print_type_bool()
274 StringOutputVisitor *sov = to_sov(v); in print_type_str() local
277 if (sov->struct_nesting) { in print_type_str()
281 if (sov->human) { in print_type_str()
286 string_output_set(sov, out); in print_type_str()
293 StringOutputVisitor *sov = to_sov(v); in print_type_number() local
295 if (sov->struct_nesting) { in print_type_number()
299 string_output_set(sov, g_strdup_printf("%.17g", *obj)); in print_type_number()
306 StringOutputVisitor *sov = to_sov(v); in print_type_null() local
309 if (sov->struct_nesting) { in print_type_null()
313 if (sov->human) { in print_type_null()
318 string_output_set(sov, out); in print_type_null()
325 StringOutputVisitor *sov = to_sov(v); in start_struct() local
327 sov->struct_nesting++; in start_struct()
333 StringOutputVisitor *sov = to_sov(v); in end_struct() local
335 if (--sov->struct_nesting) { in end_struct()
340 string_output_set(sov, g_strdup("<omitted>")); in end_struct()
347 StringOutputVisitor *sov = to_sov(v); in start_list() local
349 if (sov->struct_nesting) { in start_list()
354 assert(sov->list_mode == LM_NONE); in start_list()
357 sov->list = list; in start_list()
360 sov->list_mode = LM_STARTED; in start_list()
367 StringOutputVisitor *sov = to_sov(v); in next_list() local
370 if (sov->struct_nesting) { in next_list()
375 sov->list_mode = LM_END; in next_list()
382 StringOutputVisitor *sov = to_sov(v); in end_list() local
384 if (sov->struct_nesting) { in end_list()
388 assert(sov->list == obj); in end_list()
389 assert(sov->list_mode == LM_STARTED || in end_list()
390 sov->list_mode == LM_END || in end_list()
391 sov->list_mode == LM_NONE || in end_list()
392 sov->list_mode == LM_IN_PROGRESS); in end_list()
393 sov->list_mode = LM_NONE; in end_list()
398 StringOutputVisitor *sov = to_sov(v); in string_output_complete() local
400 assert(opaque == sov->result); in string_output_complete()
401 *sov->result = g_string_free(sov->string, false); in string_output_complete()
402 sov->string = NULL; in string_output_complete()
412 StringOutputVisitor *sov = to_sov(v); in string_output_free() local
414 if (sov->string) { in string_output_free()
415 g_string_free(sov->string, true); in string_output_free()
418 g_list_foreach(sov->ranges, free_range, NULL); in string_output_free()
419 g_list_free(sov->ranges); in string_output_free()
420 g_free(sov); in string_output_free()