utils: Convert Windows args to utf-8 string#13883
utils: Convert Windows args to utf-8 string#13883maflcko merged 1 commit intobitcoin:masterfrom ken2812221:windows-command-line-args
Conversation
|
utACK f059e7a |
Reviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
|
no-bowler std::wstring h;
h=GetCommandLineW();
std::wcout << h;it's for wwinmain _setmode(_fileno(stdout), _O_U16TEXT);
std::wcout << L"curaçao";seems to be only way. Will be handy when verbose log dubbed to |
src/bitcoin-cli.cpp
Outdated
There was a problem hiding this comment.
src/bitcoin-cli.cpp:18:1: warning: #includes are not sorted properly [llvm-include-order]
|
1e23b1cba1645b50570e1b4ca4f2da03e000f732 is adding a binary file. Is that wanted? |
|
@MarcoFalke Sorry, forgot to delete that |
src/bitcoin-cli.cpp
Outdated
There was a problem hiding this comment.
Minor nit:
2018-09-13 21:33:38 clang-tidy(pr=13883): src/bitcoin-cli.cpp:18:1: warning: #includes are not sorted properly [llvm-include-order]
There was a problem hiding this comment.
Would you prefer to put tuple after stdio.h? I think we should seperate C and C++ headers.
There was a problem hiding this comment.
I don't think we separate C and C++ headers elsewhere, but please sort them.
src/util.cpp
Outdated
There was a problem hiding this comment.
2018-09-13 21:33:38 clang-tidy(pr=13883): src/util.cpp:1290:2: warning: namespace 'util' not terminated with a closing comment [google-readability-namespace-comments]
|
Can you add a python test on this? You can probably highjack https://github.com/bitcoin/bitcoin/blob/78dae8caccd82cfbfd76557f1fb7d7557c7b5edb/test/functional/feature_uacomment.py by trying to set a chinese char. |
|
Concept ACK 380c843 (Only checked that this should only affect Windows. Didn't review nor checked that the tests fail without this fix on windows.) |
|
tACK 380c843 . The test is breaking without the fix. |
380c843 utils: Convert Windows args to utf-8 string (Chun Kuan Lee) Pull request description: Create a new class `WinCmdLineArgs` when building for Windows. It converts all command line arguments to utf8 string. Tree-SHA512: f098520fd123a8a452bc84a55dc8c0b88f0c475410efe57f2ccc393f86c396eed59ea1575ddc1b920323792e390fdb092061d80cdcd9b682f0ac79a22a22ff82
Backports bitcoin#13883 Create a new class WinCmdLineArgs when building for Windows. It converts all command line arguments to utf8 string.
Backports bitcoin#13883 Create a new class WinCmdLineArgs when building for Windows. It converts all command line arguments to utf8 string.
63e0be6 [Remove] By-pass logprint-scanner restriction. (furszy) 280ced3 utils: Fix broken Windows filelock (Chun Kuan Lee) be89860 utils: Convert Windows args to utf-8 string (Chun Kuan Lee) e8cfa6e Call unicode API on Windows (Chun Kuan Lee) 1a02a8a tests: Add test case for std::ios_base::ate (Chun Kuan Lee) 2e57cd4 Move boost/std fstream to fsbridge (furszy) 9d8bcd4 utils: Add fsbridge fstream function wrapper (Chun Kuan Lee) d59d48d utils: Convert fs error messages from multibyte to utf-8 (ken2812221) 9ef58cc Logging: use "fmterr" variable name for errors instead of general "e" that can be used by any other function. (furszy) dd94241 utils: Use _wfopen and _wreopen on Windows (Chun Kuan Lee) 3993641 add unicode compatible file_lock for Windows (Chun Kuan Lee) 48349f8 Provide relevant error message if datadir is not writable. (murrayn) Pull request description: As the software is currently using the ANSI encoding on Windows, the user's language settings could affect the proper functioning of the node/wallet, to the point of not be able to open some non-ASCII name files and directories. This solves the Windows encoding issues, completing the entire bitcoin#13869 work path (and some other required backports). Enabling for example users that use non-english characters in directories and file names to be accepted. Backported PRs: * bitcoin#12422. * bitcoin#12630. * bitcoin#13862. * bitcoin#13866. * bitcoin#13877. * bitcoin#13878. * bitcoin#13883. * bitcoin#13884. * bitcoin#13886. * bitcoin#13888. * bitcoin#14192. * bitcoin#13734. * bitcoin#14426. This is built on top of other two PRs that i have open #2423 and #2369. Solves old issues #940 and #2163. TODO: * Backport `assert_start_raises_init_error` and `ErrorMatch` in TestNode` (bitcoin#12718) ACKs for top commit: Fuzzbawls: ACK 63e0be6 random-zebra: ACK 63e0be6 and merging... Tree-SHA512: cb1f7c23abb5b7b3af50bba18652cc2cad93fd7c2fca9c16ffd3fee34c4c152a3b666dfa87fe6b44c430064dcdee4367144dcb4a41203c91b0173b805bdb3d7d
Create a new class
WinCmdLineArgswhen building for Windows. It converts all command line arguments to utf8 string.