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