Skip to content
Snippets Groups Projects
  1. Jan 24, 2018
  2. Jan 22, 2018
  3. Jan 17, 2018
  4. Jan 16, 2018
  5. Jan 10, 2018
  6. Jan 08, 2018
  7. Jan 05, 2018
  8. Jan 04, 2018
  9. Jan 03, 2018
  10. Jan 02, 2018
  11. Dec 21, 2017
  12. Dec 20, 2017
    • Nat Goodspeed's avatar
      MAINT-8087: Use env vars from VMP for AppData\Roaming and Local. · 5002bf56
      Nat Goodspeed authored
      On Windows, when logged in with a non-ASCII username, every one of the three
      documented APIs -- SHGetSpecialFolderPath(), SHGetFolderPath() and
      SHGetKnownFolderPath() -- fails to retrieve any pathname at all. We cannot
      account for the fact that the oldest of these continues to work with the
      release viewer and within a Python script (though not, curiously, from a
      Python interactive session). With a non-ASCII username, they consistently fail
      when called from an Alex Ivy viewer build: "The filename, directory name, or
      volume label syntax is incorrect."
      
      Empirically, with a non-ASCII username, the preset APPDATA and LOCALAPPDATA
      environment variables are also useless, e.g. c:\Users\??????\AppData\Roaming
      where those are, yup, actual question marks.
      
      Empirically, the VMP is able to successfully call SHGetFolderPath() to
      retrieve both AppData\Roaming and AppData\Local. Therefore, we make the VMP
      set the APPDATA and LOCALAPPDATA environment variables to the UTF-8 encoded
      correct pathnames. Instead of calling SHGetSomethingFolderPath() at all, make
      LLDir_Win32 retrieve those environment variables.
      
      Make LLFile::mkdir() treat "directory already exists" as a success case. Every
      single call fell into one of two categories: either it didn't check success at
      all, or it tested specially to exempt errno == EEXIST. Migrate that test into
      mkdir(); eliminate it from call sites.
      
      Make LLDir::append() and add() convenience functions accept variadic
      arguments. Replace add(add()...) constructs, as well as clumsy concatenations
      of directory names and getDirDelimiter(), with simple variadic add() calls.
      5002bf56
    • Nat Goodspeed's avatar
      36e5f543
    • Nat Goodspeed's avatar
      7c3638e0
    • Oz Linden's avatar
    • AndreyL ProductEngine's avatar
      2897ea5c
    • AndreyL ProductEngine's avatar
      9fe126e7
    • Mnikolenko Productengine's avatar
  13. Dec 19, 2017
  14. Dec 18, 2017
  15. Jan 04, 2018
  16. Jan 03, 2018
  17. Dec 22, 2017
  18. Dec 21, 2017
Loading