The table-driven marshalling code is not type-safe: it accepts void * pointers for the data to be marshalled, which is extremely error-prone. This can be solved by using static inline functions instead of #define macros. These functions will be inlined by the compiler and therefore have no run-time overhead.
I cannot fix this as the code generator is not publically available.
The table-driven marshalling code is not type-safe: it accepts
void *
pointers for the data to be marshalled, which is extremely error-prone. This can be solved by usingstatic inline
functions instead of#define
macros. These functions will be inlined by the compiler and therefore have no run-time overhead.I cannot fix this as the code generator is not publically available.