On 12/16/25 2:14 PM, Dave Hansen wrote:
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);
> We can do that. > 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?
Earlier, this was done to a number of other functions for the same reason. We will change it here too.
Ross
+ 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); + }
