On 12/15/25 15:33, Ross Philipson wrote:
> +static inline struct txt_heap_event_log_pointer2_1_element*
> +txt_find_log2_1_element(struct txt_os_sinit_data *os_sinit_data)
> +{
> +     struct txt_heap_ext_data_element *ext_elem;
> +
> +     /* The extended element array is at the end of this table */
> +     ext_elem = (struct txt_heap_ext_data_element *)
> +             ((u8 *)os_sinit_data + sizeof(struct txt_os_sinit_data));

I'd really honestly see a helper for this kind of thing:

#define ptr_after(foo)  ((void *)foo + sizeof(foo))

resulting in:

        ext_elem = ptr_after(os_sinit_data);

would be a billion times easier to read than what's there. I honestly
don't even see why this bothers with the u8 and cast to 'struct
txt_heap_ext_data_element *' versus just using void* and being done with it.

There's no type safety here in the first place so why bother?

> +     while (ext_elem->type != TXT_HEAP_EXTDATA_TYPE_END) {
> +             if (ext_elem->type == 
> TXT_HEAP_EXTDATA_TYPE_EVENT_LOG_POINTER2_1) {
> +                     return (struct txt_heap_event_log_pointer2_1_element *)
> +                             ((u8 *)ext_elem + sizeof(struct 
> txt_heap_ext_data_element));
> +             }
> +             ext_elem = (struct txt_heap_ext_data_element *)
> +                         ((u8 *)ext_elem + ext_elem->size);
> +     }

Reply via email to