kernel32: WideCharToMultiByte: return error on negative dest len

Maarten Lankhorst m.b.lankhorst at gmail.com
Mon Mar 24 10:54:34 CDT 2008


Hello Dan and AJ,

2008/3/24, Alexandre Julliard <julliard at winehq.org>:
> "Dan Kegel" <dank at kegel.com> writes:
>
>  > +static void test_negative_dest_length(void)
>  > +{
>  > +    int len;
>  > +    char buf[10];
>  > +
>  > +    /* Test return on negative dest length */
>  > +    SetLastError( 0xdeadbeef );
>  > +    memset(buf,'x',sizeof(buf));
>  > +    len = WideCharToMultiByte(CP_ACP, 0, foobarW, -1, buf, -1, NULL, NULL);
>  > +    ok(len == 0 && GetLastError() == ERROR_INVALID_PARAMETER,
>  > +       "WideCharToMultiByte(destlen -1): len=%d error=%x\n", len, GetLastError());
>
>  If you want to determine the behavior for negative values you have to
>  test more than just -1, it may well be special.
The test is valid at least on xp, however it could be that wine
internally relies on the broken behavior, so I'm not 100% sure whether
it can be committed without checking for that first?

Cheers,
Maarten



More information about the wine-devel mailing list