Hi,

Thanks for sending the patches. However my comment on these patches will be that, they only work when the process ANSI codepage (ACP) is UTF-8, which requires either embedding a manifest with activeCodePage set to UTF-8 or setting the system ACP to UTF-8. If the process is using CP936 (GBK) for example, it will still be broken similar to before.

Just my two cents: I would prefer to remove any code that changes the locale then attempt to restore it (which is not thread-safe), then replace `mbstowcs` and `wcstombs` with direct usage of `MultiByteToWideChar` and `WideCharToMultiByte`, which can convert from/to CP_ACP directly.

Best Regards,
Alvin

On 20/3/2023 18:36, 傅继晗 wrote:
ok,it has txt extension now

Alvin Wong <[email protected]> 于2023年3月20日周一 18:10写道:

    Hi, if you attached a patch in your mail, it has been stripped by the
    mailing list software. Please try renaming it to `.txt` and resend.

    On 20/3/2023 16:55, 傅继晗 wrote:
    > Hello maintainers:
    >
    > According to microsoft page:setlocale, _wsetlocale | Microsoft Learn
    >
    
<https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/setlocale-wsetlocale?view=msvc-170>
    >
    > *Starting in Windows 10 version 1803 (10.0.17134.0), the Universal C
    > Runtime supports using a UTF-8 code page. The change means that char
    > strings passed to C runtime functions can expect strings in the
    UTF-8
    > encoding.*
    >
    > But the libmingwex.a in toolchain of Mingw-w64-public doesn't
    support
    > non-ascii file name,and cause some bugs in  project,see :
    > MinGW-w64 - for 32 and 64 bit Windows / Bugs / #227 basename()
    truncates
    > filenames with variable-width encoding (sourceforge.net
    <http://sourceforge.net>)
    > <https://sourceforge.net/p/mingw-w64/bugs/227/>
    > and AOSP adb pull push error
    > Google Issue Tracker
    <https://issuetracker.google.com/issues/143232373>
    >
    > so,the patches for dirname.c and basename.c is needed to support
    utf-8
    > encoding.
    >
    > Greetings
    >
    > fjh1997
    >
    > _______________________________________________
    > Mingw-w64-public mailing list
    > [email protected]
    > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to