Files
loongoffice/basic/source/runtime
Stephan Bergmann 36b4b0fb8c Fix CurDir on Windows
* Allow lowercase argument.  (And properly check the sal_Unicode value with
  rtl::isAsciiUpperCase instead of with isalpha, which would cause UB for values
  outside of unsigned char + EOF).

* Use _wgetdcwd to get a UTF-16 path in the first place (instead of erroneously
  converting via createFromAscii and assuming the path only contains 7-bit ASCII
  characters).

* At least with a MSVC 2015 Update 3 --enable-dbgutil build, a call like

    CurDir("A")

  for a non-existent drive A will cause a failure message box

    Microsoft Visual C++ Runtime Library

    Debug Assertion Failed!

    Program: ...\instdir\program\soffice.bin
    File: minkernel\crts\ucrt\src\desktopcrt\misc\getcwd.cpp
    Line: 225

    Expression: ("Invalid Drive", 0)

  though, which appears it can't be intercepted---trying with a
  _set_thread_local_invalid_parameter_handler around the call to _wgetdcwd
  didn't have any effect.

Change-Id: I666f84b0695152c0f2c25de3bae100e58929594a
2017-03-20 15:46:50 +01:00
..
2016-10-05 06:51:20 +00:00
2017-01-16 07:30:09 +00:00
2017-03-20 15:46:50 +01:00