/* Type descriptions */
struct side_type_null {
- const struct side_attr *attr;
+ side_ptr_t(const struct side_attr) attr;
uint32_t nr_attr;
} SIDE_PACKED;
.type = SIDE_TYPE_NULL, \
.u = { \
.side_null = { \
- .attr = SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list()), \
+ .attr = SIDE_PTR_INIT(SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list())), \
.nr_attr = SIDE_ARRAY_SIZE(SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list())), \
}, \
}, \
.u = { \
.side_dynamic = { \
.side_null = { \
- .attr = SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list()), \
+ .attr = SIDE_PTR_INIT(SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list())), \
.nr_attr = SIDE_ARRAY_SIZE(SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list())), \
}, \
}, \
switch (type) {
/* Stack-copy basic types */
case SIDE_TYPE_NULL:
- tracer_print_type_header(":", type_desc->u.side_null.attr, type_desc->u.side_null.nr_attr);
+ tracer_print_type_header(":", side_ptr_get(type_desc->u.side_null.attr),
+ type_desc->u.side_null.nr_attr);
printf("<NULL TYPE>");
break;
switch (item->type) {
/* Dynamic basic types */
case SIDE_TYPE_DYNAMIC_NULL:
- tracer_print_type_header("::", item->u.side_dynamic.side_null.attr, item->u.side_dynamic.side_null.nr_attr);
+ tracer_print_type_header("::", side_ptr_get(item->u.side_dynamic.side_null.attr),
+ item->u.side_dynamic.side_null.nr_attr);
printf("<NULL TYPE>");
break;
case SIDE_TYPE_DYNAMIC_BOOL: