[PATCH 1/2] msvcrt: Introduce vfprintf helper function.

Piotr Caban piotr.caban at gmail.com
Mon Sep 25 06:43:00 CDT 2017


Hi,

On 09/25/17 01:24, Gijs Vermeulen wrote:
> -int CDECL MSVCRT_vfprintf(MSVCRT_FILE* file, const char *format, __ms_va_list valist)
> +static int vfprintf_helper(MSVCRT_FILE* file, const char *format, __ms_va_list valist,
> +        MSVCRT__locale_t locale, BOOL secure)
>   {
>       BOOL tmp_buf;
>       int ret;
>   
> +    if(secure)
> +        if(!MSVCRT_CHECK_PMT(file != NULL)) return -1;
> +
>       MSVCRT__lock_file(file);
>       tmp_buf = add_std_buffer(file);
> -    ret = pf_printf_a(puts_clbk_file_a, file, format, NULL, 0, arg_clbk_valist, NULL, &valist);
> +
> +    if(!secure)
> +        ret = pf_printf_a(puts_clbk_file_a, file, format, NULL, 0, arg_clbk_valist, NULL, &valist);
> +    else
> +    {
> +        if(!locale)
> +            ret = pf_printf_a(puts_clbk_file_a, file, format, NULL,
> +                    MSVCRT_PRINTF_INVOKE_INVALID_PARAM_HANDLER, arg_clbk_valist, NULL, &valist);
> +        else
> +            ret = pf_printf_a(puts_clbk_file_a, file, format, locale, 0, arg_clbk_valist, NULL, &valist);
> +    }
> +
>       if(tmp_buf) remove_std_buffer(file);
>       MSVCRT__unlock_file(file);
>   
>       return ret;
>   }
This helper changes current functions behavior.

Thanks,
Piotr



More information about the wine-devel mailing list