msvcrt: Implemented wcscpy_s (try 2)
Alexandre Julliard
julliard at winehq.org
Tue Feb 26 04:42:11 CST 2008
"Alistair Leslie-Hughes" <leslie_alistair at hotmail.com> writes:
> Is there any thing wrong with this patch?
>> + /* Test invalid size */
>> + szDest[0] = 'A';
>> + ret = p_wcscpy_s(szDest, 0, szLongText);
>> + ok(ret == EINVAL, "expected ERANGE got %d\n", ret);
>> + ok(szDest[0] == 0, "szDest[0] not 0\n");
>> +
>> + /* Copy same buffer size */
>> + ret = p_wcscpy_s(szDest, 18, szLongText);
>> + ok(ret == 0, "expected 0 got %d\n", ret);
>> + ok(lstrcmpW(szDest, szLongText) == 0, "szDest != szLongText\n");
>> +
>> + /* Copy smaller buffer size */
>> + szDest[0] = 'A';
>> + ret = p_wcscpy_s(szDestShort, 8, szLongText);
>> + ok(ret == ERANGE, "expected EINVAL got %d\n", ret);
>> + ok(szDestShort[0] == 0, "szDest[0] not 0\n");
The error messages don't match the tests.
>> + if(numElement <= 0)
>> + {
>> + wcDest[0] = 0;
>> +
>> + if(numElement < 0)
>> + return ERANGE;
>> + else
>> + return EINVAL;
The variable is unsigned so the comparison is useless. Also its type
should be MSVCRT_size_t.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list