The real mistake is implementing tagged unions with varargs; Nobody is going to printf("%p",0).
You could instead use real unions/structs and compound literal syntax if it makes sense to have a single function. They are well supported on GCC and CLANG (and in VCC you might as well use C++ anyway). If you insist on more portability than that, you can always:
The real mistake is implementing tagged unions with varargs; Nobody is going to
printf("%p",0).You could instead use real unions/structs and compound literal syntax if it makes sense to have a single function. They are well supported on GCC and CLANG (and in VCC you might as well use C++ anyway). If you insist on more portability than that, you can always: