- Revert 38185 which synced fputwc to the Wine version for the sake of fixing Winetests.
This removed the implicit ANSI conversion, which was honestly checking the wrong flags. The new version correctly checks for WX_TEXT and only does the conversion in this case. This way we also don't fail any additional Winetests.
- Simplify streamout_char in the new printf implementation and use _fputtc instead of _flsbuf.
This way, we correctly do an implicit ANSI conversion when required.
- Fix fgetwc declaration.
Thanks to Timo for many hints and assistance. Most of this code is actually his idea :-)
Thanks to Olaf for providing a build server to speed up my code tests.
See issue #6007 for more details.
svn path=/trunk/; revision=51058
New implementation of all printf functions. It's stream based (like MS one is) rather than buffer based (like our old is). Floating point is not 100% finished, but current implementation is good enough to boot. It can be enabled by a config switch.
svn path=/trunk/; revision=49499
- Implement new versions of wctomb and wcstombs, which consider the language set by setlocale() and work according to all behaviours I could find when testing under WinXP SP2.
This was tested with an own test suite (which I can commit as well if anyone is interested)
- Do a real conversion to MultiByte characters using wctomb in fputwc and vfwprintf. (verified under WinXP SP2)
- Set 'MSVCRT___lc_codepage' and 'MSVCRT___lc_collate_cp' to 1252 by default ("C" locale) and not the current active codepage (which might not work with i.e. Eastern codepages)
- Add a new check for 'MultiByteCount < 0' to WideCharToMultiByte (also verified under WinXP SP2)
- Change MB_LEN_MAX back to 2, the value 5 only applies to newer CRT's (msvcrt only handles single-byte and double-byte characters)
- Don't compile the Wine-imported 'wcscpy_s', it isn't available in msvcrt
svn path=/trunk/; revision=34557
I verified this behaviour with a test app under Windows XP SP2. This is also the code used by the fputwc function of our previous msvcrt.
svn path=/trunk/; revision=34266
- Leave and refactor existing underlying linux-code based sprintf implementation into lnx_ prefixed functions.
- Misc source code and headers cleanup.
- Fixes bugs 2910, 2803.
See issue #2803 for more details.
svn path=/trunk/; revision=33927
- Largely based on the patch by Samuel Serapion.
- Include file.c from Wine's msvcrt, but exclude its contents from the build process for now.
svn path=/trunk/; revision=33866