[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 146933: Correct win32 sqLocCurrencyNotation

GitHub noreply at github.com
Mon Jul 25 22:16:42 UTC 2016


  Branch: refs/heads/krono/win32-fixes
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 146933838498a72753f5c9aa157268913b576915
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/146933838498a72753f5c9aa157268913b576915
  Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c

  Log Message:
  -----------
  Correct win32  sqLocCurrencyNotation

As commented in https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d8683fe30158890145096ff1f2999ae53c292b37
the current code is checking if the address of currString is even???
Whether the address is even or odd does not depend on GetLocaleInfo, but rather on stack alignment of local variables on target architecture.
The code should rather check if the contents is even!!!

The contents is a String, "0", "1", "2" or "3" See LOCALE_ICURRENCY on msdn https://msdn.microsoft.com/en-us/library/windows/desktop/dd373755(v=vs.85).aspx
Testing if the string is even or odd is not practical.
But it's easier to return a number with LOCALE_RETURN_NUMBER see https://msdn.microsoft.com/en-us/library/windows/desktop/dd373825(v=vs.85).aspx
and see example of usage in GetLocaleInfo doc on msdn https://msdn.microsoft.com/en-us/library/windows/desktop/dd318101(v=vs.85).aspx

Phew, this function is brainfuck, thus error-prone, isn't it?


  Commit: 56683023fd1d73c0c034dfc687e8b047466c1f34
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/56683023fd1d73c0c034dfc687e8b047466c1f34
  Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M platforms/Cross/vm/sq.h
    M platforms/Mac OS/vm/sqMacMain.c
    M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m
    M platforms/unix/vm/sqUnixMain.c
    M platforms/win32/vm/sqWin32Main.c

  Log Message:
  -----------
  Merge branch 'Cog' of github.com:OpenSmalltalk/opensmalltalk-vm into Cog


  Commit: 9acc27313f17b0e8618d6bc97e6f0ef1d9f71cd6
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9acc27313f17b0e8618d6bc97e6f0ef1d9f71cd6
  Author: Tim Felgentreff <timfelgentreff at gmail.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M .travis_deploy.sh

  Log Message:
  -----------
  fix bintray cleanup script


  Commit: 6cbf25a49d46385aafb3ff9b9389c827d68aaf68
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6cbf25a49d46385aafb3ff9b9389c827d68aaf68
  Author: Tim Felgentreff <timfelgentreff at gmail.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M .travis_deploy.sh
    M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
    M platforms/Cross/vm/sq.h
    M platforms/Cross/vm/sqAtomicOps.h
    M platforms/Cross/vm/sqCogStackAlignment.h
    M platforms/Cross/vm/sqMemoryFence.h
    M platforms/Mac OS/plugins/DropPlugin/sqMacDragDrop.c
    M platforms/Mac OS/vm/sqMacMain.c
    M platforms/Mac OS/vm/sqMacUIAppleEvents.c
    M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m
    M platforms/iOS/vm/OSX/sqSqueakOSXCGView.m
    M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m
    M platforms/unix/vm-display-Quartz/SqueakView.m
    M platforms/unix/vm-display-Quartz/sqUnixQuartz.m
    M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m
    M platforms/unix/vm-display-X11/sqUnixX11.c
    M platforms/unix/vm-display-X11/sqUnixXdnd.c
    M platforms/unix/vm/sqUnixMain.c
    M platforms/win32/plugins/DropPlugin/sqWin32Drop.c
    M platforms/win32/plugins/FilePlugin/sqWin32File.h
    M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c
    M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c
    M platforms/win32/vm/config.h
    M platforms/win32/vm/sqConfig.h
    M platforms/win32/vm/sqPlatformSpecific.h
    M platforms/win32/vm/sqWin32Backtrace.c
    M platforms/win32/vm/sqWin32Main.c
    M platforms/win32/vm/sqWin32Prefs.c
    M platforms/win32/vm/sqWin32Prefs.h
    M platforms/win32/vm/sqWin32Threads.c
    M platforms/win32/vm/sqWin32Utils.c
    M platforms/win32/vm/sqWin32VMProfile.c
    M platforms/win32/vm/sqWin32Window.c
    M platforms/win32/vm/version.c

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/Cog' into Cog


  Commit: d18b8dbc890ab3faab6babf3fd72bbb7ee25a569
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d18b8dbc890ab3faab6babf3fd72bbb7ee25a569
  Author: Tim Felgentreff <timfelgentreff at gmail.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M .appveyor.yml

  Log Message:
  -----------
  try to make sure that appveyor build fails correctly


  Commit: 7d987353741727136a68e9446a46406020669a0a
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7d987353741727136a68e9446a46406020669a0a
  Author: Tim Felgentreff <timfelgentreff at gmail.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M .appveyor.yml

  Log Message:
  -----------
  fix typo in appveyor build script


  Commit: a52dda0291011fd996cd5b5ce42bb3f02b56e156
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a52dda0291011fd996cd5b5ce42bb3f02b56e156
  Author: nicolas-cellier-aka-nice <nicolas.cellier.aka.nice at gmail.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c

  Log Message:
  -----------
  Modernize MIDI interface for win64

The callback function has to be stored into a DWORD_PTR, not a DWORD
Same for the user data passed thru the callback
See msdn for midiInOpen https://msdn.microsoft.com/en-us/library/windows/desktop/dd798458(v=vs.85).aspx


  Commit: a516d07b547849dc2c7d2f9bef87cfce9e5099c1
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a516d07b547849dc2c7d2f9bef87cfce9e5099c1
  Author: nicolas-cellier-aka-nice <nicolas.cellier.aka.nice at gmail.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c
    M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c

  Log Message:
  -----------
  Add 2 missing return for warning elimination


  Commit: 43dca8fe50b7cc70901f4138d3fed60a6734a66f
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/43dca8fe50b7cc70901f4138d3fed60a6734a66f
  Author: nicolas-cellier-aka-nice <nicolas.cellier.aka.nice at gmail.com>
  Date:   2016-07-25 (Mon, 25 Jul 2016)

  Changed paths:
    M platforms/Cross/plugins/BitBltPlugin/BitBltGeneric.c

  Log Message:
  -----------
  Make genericCompareColors declaration 64bits compatible.

This function is stored in a table of compare_colors_fn_t which deals with usqInt parameters and return type, not uint32_t.


  Commit: 03c0ef741a5def6d8e94e98c4c9ccafa7fd38187
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/03c0ef741a5def6d8e94e98c4c9ccafa7fd38187
  Author: Tobias Pape <tobias at netshed.de>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M .appveyor.yml
    M .travis_deploy.sh
    M platforms/Cross/plugins/BitBltPlugin/BitBltGeneric.c
    M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c
    M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c
    M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c
    M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/Cog' into krono/win32-fixes

* origin/Cog:
  Make genericCompareColors declaration 64bits compatible.
  Add 2 missing return for warning elimination
  Modernize MIDI interface for win64
  fix typo in appveyor build script
  try to make sure that appveyor build fails correctly
  fix bintray cleanup script
  Correct win32  sqLocCurrencyNotation


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/d11b90114ce2...03c0ef741a5d


More information about the Vm-dev mailing list