Partly sync static.c with wine, reduce diff between ros and wine code. The leak fix is taken care of. Also go back from Get/SetWindowLongPtr to Get/SetWindowLong for LONG values. Using the *Ptr version is wrong for LONG values!
svn path=/trunk/; revision=53204
- Display the loading message for drivers loaded by the PnP manager during boot
- Maybe now NDIS.SYS won't get all the blame for boot hangs ;)
svn path=/trunk/; revision=53203
Fix QueryServiceConfigEx[A/W]:
- If lpServiceConfig is NULL or cbBufSize is less than sizeof(QUERY_SERVICE_CONFIGA/W) pass a pointer to an internal status buffer to RQueryServiceConfigA/W.
- Revert r53153 and r53154. Adding 'in' and 'unique' attributes is NOT an option because this is not compatible with Windows.
svn path=/trunk/; revision=53202
Fix EnumServicesStatusEx[A/W]:
- If lpServices is NULL or cbBufSize is less than sizeof(ENUM_SERVICE_STATUS_PROCESS) pass a pointer to an internal status buffer to REnumServicesStatusExA/W. Adding 'in' and 'unique' attributes in the idl file is NOT an option because this is not compatible with Windows.
- Check the InfoLevel.
svn path=/trunk/; revision=53201
- Fix a massive memory leak of our entire TDI entity ID database after each call to getInterfaceInfoSet
- Fix another massive leak of our entire TDI interface table after each call to getInterfaceInfoByIndex and getInterfaceInfoByName
- Fix some uninitialized variable warnings
- Explorer no longer leaks horrendous amounts of memory (about 1 MB per minute even without network activity) when the network status icon is in the system tray
svn path=/trunk/; revision=53190
- Rewrite receive code to make it much simpler, handle some corner cases that weren't treated correctly, and fix the data corruption bug
- Downloaded successfully (no data corruption): OpenOffice 2.4, OpenOffice 3.3, BitTorrent 7.2.1, Firefox 5, Firefox 3.6, Firefox 3, Firefox 2, Abyss Web Server, Opera 9.64, and Opera 11.01
svn path=/trunk/; revision=53189
- Fix a buffer overflow when the packet queue has more packets than the receive request can take
- Remove an extra variable
svn path=/trunk/; revision=53188
- Reapply the switchtype patch from widl-ros.diff. This patch should be sent upstream to wine.
See issue #6406 for more details.
svn path=/trunk/; revision=53187
- Implement SO_LINGER and SO_DONTLINGER for getsockopt and setsockopt
- Fix and add buffer size checks
- Yes, we've gone this long without SO_LINGER support
svn path=/trunk/; revision=53174
- use -Oif flag to produce modern (!) NT4 stubs, with Microsoft extensions to IDL language.
[ADVAPI32]
- Initialize *pcbBytesNeeded, as it's marked as [in], it needs to be in the 0-8k range before being passed to RPC.
Now 2nd stage got his mouse and keyboard again.
svn path=/trunk/; revision=53171
Fix MSVC warning about signed/unsigned mismatch. In this case it was not a bug, because the compiler implicitly casts to unsigned, when signed and unsigned are compared, so (-1 < 0x23U) is false.
svn path=/trunk/; revision=53163
- fix confusion on buffer size between string length and number of bytes.
Might fix some infamous heap corruption bug during install. Please test.
svn path=/trunk/; revision=53160
- addendum to r53153 : [unique] and [ptr] can't be applied to [out] only parameters, so mark them as [in] too.
Now MSVC build gets as far as 3rd stage.
svn path=/trunk/; revision=53154
memory barriers
- implement a fixed version of __invlpg for MSVC, since the intrinsic is broken and can generate wrong instructions, when optimization is enabled
- add MSVC versions of _mm_mfence, _mm_lfence, _mm_sfence and __faststorefence
- add _mm_mfence() for gcc
- give _mm_lfence, _mm_sfence, __invlpg and __wbinvd proper
svn path=/trunk/; revision=53151
- Implement a simple buffer allocation algorithm which backs off the buffer size until all buffer allocations succeed
See issue #6284 for more details.
svn path=/trunk/; revision=53149