[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