-Fix the weekday offset in gmtime
-Offset the year in *ctime by 1900, fix obvious typos
-Set structure packing to char level: without it the 26 character array is 32 characters wide and the string can't be constructed properly because of alignment characters in between (shouldn't be a problem when _UNICODE is defined)
-Test results: awesome, will be integrated soon
svn path=/trunk/; revision=42413
-iofunc tests were used to verify r42382, added another one that tests swprintf double conversion (roscalc issue)
-time tests crash with the current crt implementation
svn path=/trunk/; revision=42408
The new XLATEOBJ is not allocated from paged pool anymore, but instead allocated on the stack and Initialized. Only when we habe more than a color table with more than 6 entries, we need to allocate an additional buffer. The new interface: EXLATEOBJ_vInitialize is the main init function. It takes a source and destination palette and back and fore colors for monochome surfaces. EXLATEOBJ_vInitXlateFromDCs
takes the source and dest DC and is for color translation between 2 surfaces represented by 2 DCs. EXLATEOBJ_vInitBrushXlate initializes an XLATEOBJ for a pattern brush. Finally EXLATEOBJ_vCleanup needs to be called when the XLATEOBJ is not needed anymore. Implement individual iXlate functions for certain cases and store a function pointer in the EXLATEOBJ structure for quick access.
Change the usage of the PALETTE.Mode member to be a flag instead of an enum, add usage of PAL_MONOCHOME, PAL_RGB16_555 and PAL_RGB16_565. Add gpalMono, which *should* be used as palette for 1bpp DDBs. Currently there's a hack in the XLATEOBJ init code, to hack around the fact that this is missing. Fix the Hatch brush patterns, as they were inverted. Implement PALETTE_ulGetNearestBitFieldsIndex and PALETTE_ulGetNearestIndex. Get rid of the XLATEOBJ for the mouse pointer instead realize the pointer before usage.
Get rid of logicalToSystem PALETTE member. NtGdiGetDIBitsInternal: Don't create a DIBBrush from the BITMAPINFO, when pvBits is NULL, as the function might be uninitualized. This fixes a crash of gdi_regtest. The whole function is quite ugly and needs to be rewritten (like probably the rest of the DIB code). This fixes the problem of artifacts in the selected desktop icons and some color problems.
svn path=/trunk/; revision=42391
- Remove handling of IRP_MJ_CLEANUP and move the code to the DispatchClose routine
- Remove the hack (holding an extra reference and not closing the handle) which hid these bugs
- Fixes some memory and handle leaks too
svn path=/trunk/; revision=42387
- Move MCI_OPEN_DRIVER and MCI_CLOSE_DRIVER to mmddk.h as this is where they belong. Also move them out of the _WINE guard as those defines are present in the official headers.
- Add GetDriverFlags to mmsystem.h (missed this one in 41644).
- Most Wine code now compiles fine in MSVC.
- Wrap include_next in crt/float.h under a __GNUC__ guard -- not quite correct as the included float.h defines some stuff that should be in the "real" float.h.
- winnt.h: Remove duplicated LANG* defines that are already defined there and present in the official headers. Remove the _WINE guard from the rest as we may want to provide translations for those languages too.
svn path=/trunk/; revision=42386
- Rewrite the function, getting rid of alloca and unneeded code parts
- Relies on working sprintf, especially allows to detect the decimal point position independent of wanted precision
- Fixes all msvcrt printf winetests
svn path=/trunk/; revision=42383
- Implement higher precision exponent selection, checked against ecvt test cases to match wanted behavior
- msvcrt printf winetests up by ~10 because current ecvt relies on non-correct behavior
- Cleanup unneeded checks, wrong variable usages, add new header
svn path=/trunk/; revision=42382
- Don't forward RtlRandomEx to RtlRandom in ntdll -- RtlRandomEx should use a different algorithm (but is simply a copy of RtlRandom right now).
- Revert RtlUniform back to the "slow" version -- let the compiler do its job instead of obfuscating code for a miniscule speed gain.
svn path=/trunk/; revision=42378
- Treat 255.255.255.255 as an undefined address
- Choose the first interface when sending a broadcast packet (fixes failing with STATUS_NETWORK_UNREACHABLE when trying to send a broadcast packet)
- Fix a broadcast address check so 255.255.255.255 will also pass (fixes sending queued broadcast packets)
- Now a broadcast packet can be successfully sent from an interface with a valid IP address (previously they could only be sent when the interface didn't have an NCE entry)
svn path=/trunk/; revision=42375
- ReactOS-generic.rbuild: Define __STDC__ for MSVC to fix some code depending on it (not using /Za as it breaks other code)
svn path=/trunk/; revision=42369
- Check for null character pointers, apply somewhat readable formatting
- Add some useful header information
See issue #4755 for more details.
svn path=/trunk/; revision=42363
- Fix misc msvc issues in paint, setup, mmsys and mmebuddy
- Simplify the way kernel32 is built, reverting the "test" from 14241
svn path=/trunk/; revision=42362