[OpenSmalltalk/opensmalltalk-vm] f32c8b: Fix win32 long path name with a simpler solution a...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] f32c8b: Fix win32 long path name with a simpler solution a...

GitHub
 
  Branch: refs/heads/FIX_WIN32_LONG_FILENAME
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: f32c8bb4101ce232e3e47d6857d651828fb29a9b
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f32c8bb4101ce232e3e47d6857d651828fb29a9b
  Author: Nicolas Cellier <[hidden email]>
  Date:   2017-10-30 (Mon, 30 Oct 2017)

  Changed paths:
    M platforms/win32/plugins/FilePlugin/sqWin32File.h
    M platforms/win32/vm/sqWin32Directory.c

  Log Message:
  -----------
  Fix win32 long path name with a simpler solution a la Esteban

Having two macros ALLOC_WIN32_PATH and REALLOC_WIN32_PATH that do almost the same thing smells.
It is a lot simpler to concatenate native utf8 path and file names, then call ALLOC_WIN32_PATH once
like Esteban Lorenzano did propose, rather than doing the work on converted WCHAR win32Path.

Some more details:
The concatenated fullPath does not require a trailing null char because MultiByteToWideChar() invoked by ALLOC_WIN32_PATH cares of it
The lastString cache is now handled in utf8 too, without trailing null either- hence we don't use strcmp()