diff options
author | Gerald Combs <gerald@wireshark.org> | 2020-06-24 16:02:39 -0700 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2020-07-06 16:20:25 +0000 |
commit | 4dc3114c050ac2fb6da2b19103ce4995f6d91561 (patch) | |
tree | 08c7406a69bd8bc383f205cd5789556abcf6bdb4 /dftest.c | |
parent | 0d7d7fe3c6295cd40e3c96407f7208ef19b43b61 (diff) |
Windows: Set our locale to ".UTF-8".
In each of our executables we were calling "setlocale(LC_ALL, "")" at
startup. This told Windows that output was encoded using the current
system code page. Unless the code page was 65001 (UTF-8), this was a lie.
We write UTF-8 to stdout and stderr, so call "setlocale(LC_ALL, ".UTF-8)"
at startup on Windows. This lets the CRT translate our output correctly
in more cases.
Clarify and expand the OUTPUT section in the tshark man page.
Bug: 16649
Change-Id: If93231fe5b332c292946c7f8e5e813e2f543e799
Reviewed-on: https://code.wireshark.org/review/37560
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'dftest.c')
-rw-r--r-- | dftest.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -80,8 +80,15 @@ main(int argc, char **argv) if (!epan_init(NULL, NULL, FALSE)) return 2; - /* set the c-language locale to the native environment. */ + /* + * Set the C-language locale to the native environment and set the + * code page to UTF-8 on Windows. + */ +#ifdef _WIN32 + setlocale(LC_ALL, ".UTF-8"); +#else setlocale(LC_ALL, ""); +#endif /* Load libwireshark settings from the current profile. */ epan_load_settings(); |