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]


Reply via email to