Piotr Caban <[email protected]> writes: > +printf_arg arg_clbk_valist(void *ctx, int arg_pos, size_t size, __ms_va_list > *valist) > +{ > + printf_arg ret; > + > + if(size == sizeof(LONGLONG)) > + ret.get_longlong = va_arg(*valist, LONGLONG); > + else if(size == sizeof(int)) > + ret.get_int = va_arg(*valist, int); > + else { > + ERR("Incorrect size\n"); > + ret.get_int = 0; > + }
You can't do that, you need to use the correct type in va_arg. Different types can be passed differently even if they have the same size. -- Alexandre Julliard [email protected]
