From: Mathieu Desnoyers Date: Thu, 21 Sep 2023 09:41:15 +0000 (+0100) Subject: trace.h: Use side_ptr_t for gather args X-Git-Url: http://git.efficios.com/?p=libside.git;a=commitdiff_plain;h=155b17565614f879c4cfdd7b66ffa8e573a2498f trace.h: Use side_ptr_t for gather args Signed-off-by: Mathieu Desnoyers --- diff --git a/include/side/trace.h b/include/side/trace.h index 22cdec3..883a311 100644 --- a/include/side/trace.h +++ b/include/side/trace.h @@ -537,18 +537,18 @@ union side_arg_static { void *side_vla_app_visitor_ctx; /* Gather basic types */ - const void *side_bool_gather_ptr; - const void *side_byte_gather_ptr; - const void *side_integer_gather_ptr; - const void *side_float_gather_ptr; - const void *side_string_gather_ptr; + side_ptr_t(const void) side_bool_gather_ptr; + side_ptr_t(const void) side_byte_gather_ptr; + side_ptr_t(const void) side_integer_gather_ptr; + side_ptr_t(const void) side_float_gather_ptr; + side_ptr_t(const void) side_string_gather_ptr; /* Gather compound types */ - const void *side_array_gather_ptr; - const void *side_struct_gather_ptr; + side_ptr_t(const void) side_array_gather_ptr; + side_ptr_t(const void) side_struct_gather_ptr; struct { - const void *ptr; - const void *length_ptr; + side_ptr_t(const void) ptr; + side_ptr_t(const void) length_ptr; } SIDE_PACKED side_vla_gather; } SIDE_PACKED; @@ -1468,15 +1468,15 @@ struct side_event_description { /* Gather field arguments */ -#define side_arg_gather_bool(_ptr) { .type = SIDE_TYPE_GATHER_BOOL, .u = { .side_static = { .side_bool_gather_ptr = (_ptr) } } } -#define side_arg_gather_byte(_ptr) { .type = SIDE_TYPE_GATHER_BYTE, .u = { .side_static = { .side_byte_gather_ptr = (_ptr) } } } -#define side_arg_gather_pointer(_ptr) { .type = SIDE_TYPE_GATHER_POINTER, .u = { .side_static = { .side_integer_gather_ptr = (_ptr) } } } -#define side_arg_gather_integer(_ptr) { .type = SIDE_TYPE_GATHER_INTEGER, .u = { .side_static = { .side_integer_gather_ptr = (_ptr) } } } -#define side_arg_gather_float(_ptr) { .type = SIDE_TYPE_GATHER_FLOAT, .u = { .side_static = { .side_float_gather_ptr = (_ptr) } } } -#define side_arg_gather_string(_ptr) { .type = SIDE_TYPE_GATHER_STRING, .u = { .side_static = { .side_string_gather_ptr = (_ptr) } } } -#define side_arg_gather_struct(_ptr) { .type = SIDE_TYPE_GATHER_STRUCT, .u = { .side_static = { .side_struct_gather_ptr = (_ptr) } } } -#define side_arg_gather_array(_ptr) { .type = SIDE_TYPE_GATHER_ARRAY, .u = { .side_static = { .side_array_gather_ptr = (_ptr) } } } -#define side_arg_gather_vla(_ptr, _length_ptr) { .type = SIDE_TYPE_GATHER_VLA, .u = { .side_static = { .side_vla_gather = { .ptr = (_ptr), .length_ptr = (_length_ptr) } } } } +#define side_arg_gather_bool(_ptr) { .type = SIDE_TYPE_GATHER_BOOL, .u = { .side_static = { .side_bool_gather_ptr = SIDE_PTR_INIT(_ptr) } } } +#define side_arg_gather_byte(_ptr) { .type = SIDE_TYPE_GATHER_BYTE, .u = { .side_static = { .side_byte_gather_ptr = SIDE_PTR_INIT(_ptr) } } } +#define side_arg_gather_pointer(_ptr) { .type = SIDE_TYPE_GATHER_POINTER, .u = { .side_static = { .side_integer_gather_ptr = SIDE_PTR_INIT(_ptr) } } } +#define side_arg_gather_integer(_ptr) { .type = SIDE_TYPE_GATHER_INTEGER, .u = { .side_static = { .side_integer_gather_ptr = SIDE_PTR_INIT(_ptr) } } } +#define side_arg_gather_float(_ptr) { .type = SIDE_TYPE_GATHER_FLOAT, .u = { .side_static = { .side_float_gather_ptr = SIDE_PTR_INIT(_ptr) } } } +#define side_arg_gather_string(_ptr) { .type = SIDE_TYPE_GATHER_STRING, .u = { .side_static = { .side_string_gather_ptr = SIDE_PTR_INIT(_ptr) } } } +#define side_arg_gather_struct(_ptr) { .type = SIDE_TYPE_GATHER_STRUCT, .u = { .side_static = { .side_struct_gather_ptr = SIDE_PTR_INIT(_ptr) } } } +#define side_arg_gather_array(_ptr) { .type = SIDE_TYPE_GATHER_ARRAY, .u = { .side_static = { .side_array_gather_ptr = SIDE_PTR_INIT(_ptr) } } } +#define side_arg_gather_vla(_ptr, _length_ptr) { .type = SIDE_TYPE_GATHER_VLA, .u = { .side_static = { .side_vla_gather = { .ptr = SIDE_PTR_INIT(_ptr), .length_ptr = SIDE_PTR_INIT(_length_ptr) } } } } /* Dynamic field arguments */ diff --git a/src/tracer.c b/src/tracer.c index 65887fb..f9e91e9 100644 --- a/src/tracer.c +++ b/src/tracer.c @@ -977,41 +977,41 @@ void tracer_print_type(const struct side_type *type_desc, const struct side_arg /* Gather basic types */ case SIDE_TYPE_GATHER_BOOL: - (void) tracer_print_gather_bool_type(&type_desc->u.side_gather, item->u.side_static.side_bool_gather_ptr); + (void) tracer_print_gather_bool_type(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_bool_gather_ptr)); break; case SIDE_TYPE_GATHER_INTEGER: - (void) tracer_print_gather_integer_type(&type_desc->u.side_gather, item->u.side_static.side_integer_gather_ptr, + (void) tracer_print_gather_integer_type(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_integer_gather_ptr), TRACER_DISPLAY_BASE_10); break; case SIDE_TYPE_GATHER_BYTE: - (void) tracer_print_gather_byte_type(&type_desc->u.side_gather, item->u.side_static.side_byte_gather_ptr); + (void) tracer_print_gather_byte_type(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_byte_gather_ptr)); break; case SIDE_TYPE_GATHER_POINTER: - (void) tracer_print_gather_integer_type(&type_desc->u.side_gather, item->u.side_static.side_integer_gather_ptr, + (void) tracer_print_gather_integer_type(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_integer_gather_ptr), TRACER_DISPLAY_BASE_16); break; case SIDE_TYPE_GATHER_FLOAT: - (void) tracer_print_gather_float_type(&type_desc->u.side_gather, item->u.side_static.side_float_gather_ptr); + (void) tracer_print_gather_float_type(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_float_gather_ptr)); break; case SIDE_TYPE_GATHER_STRING: - (void) tracer_print_gather_string_type(&type_desc->u.side_gather, item->u.side_static.side_string_gather_ptr); + (void) tracer_print_gather_string_type(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_string_gather_ptr)); break; /* Gather compound type */ case SIDE_TYPE_GATHER_STRUCT: - (void) tracer_print_gather_struct(&type_desc->u.side_gather, item->u.side_static.side_struct_gather_ptr); + (void) tracer_print_gather_struct(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_struct_gather_ptr)); break; case SIDE_TYPE_GATHER_ARRAY: - (void) tracer_print_gather_array(&type_desc->u.side_gather, item->u.side_static.side_array_gather_ptr); + (void) tracer_print_gather_array(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_array_gather_ptr)); break; case SIDE_TYPE_GATHER_VLA: - (void) tracer_print_gather_vla(&type_desc->u.side_gather, item->u.side_static.side_vla_gather.ptr, - item->u.side_static.side_vla_gather.length_ptr); + (void) tracer_print_gather_vla(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_vla_gather.ptr), + side_ptr_get(item->u.side_static.side_vla_gather.length_ptr)); break; /* Gather enumeration types */ case SIDE_TYPE_GATHER_ENUM: - (void) tracer_print_gather_enum_type(&type_desc->u.side_gather, item->u.side_static.side_integer_gather_ptr); + (void) tracer_print_gather_enum_type(&type_desc->u.side_gather, side_ptr_get(item->u.side_static.side_integer_gather_ptr)); break; /* Dynamic basic types */