Bug description:
    https://jbs.oracle.com/bugs/browse/JDK-8016579
    http://bugs.sun.com/view_bug.do?bug_id=8016579

Here is the suggested fix:
http://cr.openjdk.java.net/~uta/openjdk-webrevs/JDK-8016579/webrev.00/

Summary:
We have THREE locales in action:
1. Thread default locale - dictates UNICODE-to-8bit conversion
2. OS locale that defines the message localization
3. The file name locale

Each locale could be an extended locale, that means that text cannot be mapped to 8bit sequence without multibyte encoding. VM is ready for that, if text is UTF-8.
The suggested fix does the work right from the beginning.

Unicode version of JVM call:
     hotspot/src/os/windows/vm/os_windows.cpp:
         size_t os::lasterror(char* buf, size_t len)
was used as prototype for Unicode error message getter. It has to be fixed accordingly as well as
     jdk/src/windows/native/java/io/io_util_md.c
         size_t getLastErrorString(char *buf, size_t len)

The bug contains the attachment
https://jbs.oracle.com/bugs/secure/attachment/14581/JDK-8016579.txt
that summarize the fix result in comparison with original implementation.

Regards,
-uta

Reply via email to