18 Apr
2011
18 Apr
'11
4:44 a.m.
Piotr Caban <piotr(a)codeweavers.com> 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 julliard(a)winehq.org