[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Win64 cleanups (#329)
Nicolas Cellier
notifications at github.com
Fri Dec 28 16:53:05 UTC 2018
This is essentially sanitizing and cleanups of existing win32 platform code.
There's no new feature or behavior change except this one: path passed to security plugin will be interpreted as UTF-8 encoded on windows VM.
These changes are required before cleaning the contract between image and VM, especially about encoding of various strings passed: they should be encoded in UTF8 which seems best for platform interoperability.
It's a step forward for enabling the -DUNICODE as attempted by Tobias about 2 years ago.
It is also very important to reduce the number of compiler warnings. 9 times out of 10, these warnings are false positive, but the tenth is indicating a true problem that we'd better not ignore. If we let the benign warnings overflow us, then we are depriving ourself of a useful tool.
You can view, comment on, or merge this pull request online at:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/329
-- Commit Summary --
* Protect buffer underflow
* Make icon setting 64bits compatible
* remove a warning about a control path not returning a value
* Use TEXT macro for generic (ASCII or WIDE) string method
* Provides a high resolution clock for MSVC
* Define some UNIX constants in sqWin32Directory.c, MSVC oblige
* Remove a few printf warnings
* Prefer DirectX8 in MSVC
* Workaround S_ISFIFO to let MSVC compile FilePlugin
* Backport Unicode compatibility patches from minheadless variant
* Yet another printLastError Unicode compatibility fix in SoundPlugin
* Fix another bunch of usage of printLastError uncompatible with Unicode
* Fix sqWin32Security.c UNICODE problems
* Fix TEXT(VMOPTION('foo"))
* Concatenate TEXT constants rather than TEXT concatenated constants
* printLastError & warnPrintf take a TCHAR *, not a char *
* DPRINTF takes a TCHAR * when it is a warnPrintf in disguise
* Splash file and title may use Unicode variant
* windowTitle is not a TCHAR *, it is a UTF8 encoded char *
* make win23OpenGL UNICODE friendly
* Invoke LoadLibraryA when there's no point to internationalize library name
* GetProcAddress takes simple byte string procedure name
* Use GetLocaleInfoA rather than generic version
* remove unused LongFileNameFromPossiblyShortName
* the DPRINTF used in sqWin32PluginSupport.c takes a TCHAR *, not a char *
-- File Changes --
M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c (1)
M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c (6)
M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32OpenGL.c (4)
M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c (2)
M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c (4)
M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c (28)
M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c (25)
M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c (72)
M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c (16)
M platforms/win32/vm/sqWin32.h (2)
M platforms/win32/vm/sqWin32Alloc.c (14)
M platforms/win32/vm/sqWin32Backtrace.c (24)
M platforms/win32/vm/sqWin32DirectInput.c (6)
M platforms/win32/vm/sqWin32Directory.c (13)
M platforms/win32/vm/sqWin32ExternalPrims.c (12)
M platforms/win32/vm/sqWin32Heartbeat.c (5)
M platforms/win32/vm/sqWin32Main.c (2)
M platforms/win32/vm/sqWin32PluginSupport.c (48)
M platforms/win32/vm/sqWin32Prefs.c (9)
M platforms/win32/vm/sqWin32Threads.c (4)
M platforms/win32/vm/sqWin32Window.c (120)
-- Patch Links --
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/329.patch
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/329.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/329
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20181228/c502e31d/attachment.html>
More information about the Vm-dev
mailing list