Am Montag, den 19.05.2008, 19:58 +0900 schrieb Dmitry Timoshkov:
+INT WINAPI StringFromGUID2_16(REFGUID id, LPSTR str, INT cmax) +{
- char xguid[80];
- int len;
- if (WINE_StringFromCLSID( id, xguid ))
- return 0;
- len = strlen( xguid ) + 1; /* The terminating zero counts */
- if (len > cmax)
return 0;
- strcpy( str, xguid );
- return len;
+}
This is not an equivalent of the old implementation, is it really supposed to fail if the buffer length is shorter than the guid?
http://msdn.microsoft.com/en-us/library/ms683893(VS.85).aspx says so. I will test Microsoft's native implementation when I get around to.
Regards, Michael Karcher
PS: is it possible to test 16 bit API function in the wine test suite? I suppose not, as it should be compilable in a 32 bit Windows environment, so we don't even have LoadLibrary16.