Branch: refs/heads/WIN64_UNICODE Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: f25041584cb703d00ef9677b4403c50244daa024 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f25041584cb703d00ef9677b4403c50244daa024 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- We can't compare a TCHAR*windowClassName with a char*buf Even if buf were re-interpreted as WCHAR* when -DUNICODE, strcmp wouldn't do the right thing (it will stop at first ASCII because high 8 bits will be zero!) We thus use the TCHAR*dedicated `_tcscmp`. If ever we want to switch to UTF16 (WCHAR*) windowClassName, then it will be `wcscmp`. Commit: 84a8d172d1c524487cf9c2e06f2fc807ef27c6d9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/84a8d172d1c524487cf9c2e06f2fc807ef27c6d9 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Prefs.c Log Message: ----------- Tu quoque NewspeakVM, frustra TEXT macro... That's the limit of using compiler warnings: we only focus on the sections we compile... BTW, ifdef NewspeakVM, OK, but what do Pharo people think about it? Commit: 7d3264e523709ea92aa1a70d1c9a97a863d3c0a8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7d3264e523709ea92aa1a70d1c9a97a863d3c0a8 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c Log Message: ----------- gai_strerror returns a TCHAR*, we cannot simply fprintf it... Choose the UNICODE variant, because error messages are presumably localized an may use non ASCII characters The alternative would be to use `_ftprintf(stderr,TEXT("%s"),gai_strerror(gaiError))` and let -DUNICODE decide... Commit: 6ff9625b6cb47487bf5421921c9b7b9742571e7b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6ff9625b6cb47487bf5421921c9b7b9742571e7b Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32DnsInfo.c Log Message: ----------- Let lookup account for NULL terminating a WCHAR* The low level `RegQueryValueEx` deals with a char*, but here char* just means some un-interpreted bytes, not a string! If we compile with `-DUNICODE` the un-interpreted bytes will contain a WCHAR* And if we want to properly NULL terminate this WCHAR*, then we need 2 null bytes, not 1! Commit: 32840ac857dbef54e25c61c3e7bb0a9dde5aca5f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/32840ac857dbef54e25c61c3e7bb0a9dde5aca5f Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32DnsInfo.c Log Message: ----------- Revert to ASCII only version of DnsInfo Rationale: there's no urge in providing localized UNICODE info... That's IP addresses, etc... Eventually, server names could be UNICODE but this seems to be a real mess! The short term goal is to enable compilation with -DUNICODE For longer term, we'll see later. Commit: 475d84cf63fc05ca814fa67016f46e90263d0894 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/475d84cf63fc05ca814fa67016f46e90263d0894 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- iconPath is char*, LoadImage expects a TCHAR* We now interpret iconPath as UTF-8 encoded We convert it to WideChar and call the W version. TODO: for now, do not deal with UNC long filenames... Commit: ef245b6d485b0286f648fda560b0564d812593e5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ef245b6d485b0286f648fda560b0564d812593e5 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- And account for the fact that iconPath is not NULL-TERMINATED! Commit: 07ff6a63ab5841ece882f93092d900d36ca371b0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/07ff6a63ab5841ece882f93092d900d36ca371b0 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- DPRINTF must take a TCHAR*fmt because wvsprintf does! though, vfprintf does not, so reconcile by using _vftprintf from <tchar.h> Commit: dfe4d09597d2c6ed94ff9d1f6305df677bf39067 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dfe4d09597d2c6ed94ff9d1f6305df677bf39067 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- NOTIFYICONDATA.szTip maybe a WCHAR* if -DUNICODE so let's use appropriate TCHAR* functions/macros Commit: db33158941b1a8e74224d98ff6e81b2f20e6959c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/db33158941b1a8e74224d98ff6e81b2f20e6959c Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- _DISPLAY_DEVICE.DeviceString may be a WCHAR* if -DUNICODE, we cannot simply sprintf We have to test #ifdef UNICODE, and if so, convert to UTF8 Commit: 46bd992b7633dfc4f96b142104651313b826809c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/46bd992b7633dfc4f96b142104651313b826809c Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Prefs.h Log Message: ----------- VM_VERSION_TEXT is a TCHAR*, we cannot simply fprintf But there is no need for UNICODE in VM_VERSION_TEXT Revert to plain ASCII and rename it VM_VERSION_VERBOSE Commit: c5f207c84ce1a9dca04ff4126e24a7489986c9c5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c5f207c84ce1a9dca04ff4126e24a7489986c9c5 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- iniName, manufacturer and model may be WCHAR* if -DUNICODE Let iniName be WCHAR unconditionally. Get manufacturer and model into a UTF16 buffer, then convert them to UTF8 while at it, protect buffer overrun strcat - > wcsNcat Commit: d9b3927ed91ef60eeca7ec14dd7f48ccb6022cde https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d9b3927ed91ef60eeca7ec14dd7f48ccb6022cde Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Information queried in Registry can be WideChar if -DUNICODE We want to generate an UTF8 report (do we really?). So provide a `RegLookupUTF8String`, so as to make all the queries with W variant, then convert all information to UTF8 While at it, use snprintf instead of sprintf and strncat instead of strcat Commit: 8b14fbfcb43951d7a7f87be1d927fadc7db85007 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8b14fbfcb43951d7a7f87be1d927fadc7db85007 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Make stderrName and stdoutName be WCHAR* There was a mixture of TCHAR* and char* which could not work with -DUNICODE Who knows, the TempPath might be localized, so go UNICODE... Commit: 643a5e3bc03142a49115588a1b215cf963563e42 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/643a5e3bc03142a49115588a1b215cf963563e42 Author: Nicolas Cellier <[hidden email]> Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Retract support for Windows95 (no you don't dream it's nearly 2019!) I'm very sorry to dilapidate all this historical knowledge, but frankly YAGNI! Even if we are a museum, we can't expose all our art in permanent collections! Note that minimal version is already set to XP (via WINVER:=-D_WIN32_WINNT=0x0501 -DWINVER=0x0501 in Makefile.tools) So we're keeping this stuf for nothing, and now it gets in our way to UNICODE. Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1893512441e9...643a5e3bc031 **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/ Functionality will be removed from GitHub.com on January 31st, 2019. |
Free forum by Nabble | Edit this page |