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);
+       }


Reply via email to