[Lldb-commits] [PATCH] D70442: [LLDB] Force message formatting to English
Alexandre Ganea via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Nov 19 07:26:44 PST 2019
aganea created this revision.
aganea added reviewers: asmith, aleksandr.urakov.
aganea added a project: LLDB.
Herald added a subscriber: lldb-commits.
This is a follow-up on D53092 <https://reviews.llvm.org/D53092>, and fixes the test below on non-English locales (below, on a French locale):
[ RUN ] StatusTest.ErrorWin32
F:\llvm-project\lldb\unittests\Utility\StatusTest.cpp(67): error: Expected: "Access is denied. "
To be equal to: s.AsCString()
Which is: "Acc\xE8s refus\xE9. "
F:\llvm-project\lldb\unittests\Utility\StatusTest.cpp(70): error: Expected: "Negotiation timed out "
To be equal to: s.AsCString()
Which is: "Le d\xE9lai d\x92" "attente a expir\xE9 pour la n\xE9gociation "
[ FAILED ] StatusTest.ErrorWin32 (2 ms)
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D70442
Files:
lldb/source/Utility/Status.cpp
Index: lldb/source/Utility/Status.cpp
===================================================================
--- lldb/source/Utility/Status.cpp
+++ lldb/source/Utility/Status.cpp
@@ -100,14 +100,23 @@
char *buffer = nullptr;
std::string message;
// Retrieve win32 system error.
+ // First, attempt to load a en-US message
if (::FormatMessageA(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_MAX_WIDTH_MASK,
- NULL, error_code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ NULL, error_code, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
(LPSTR)&buffer, 0, NULL)) {
message.assign(buffer);
::LocalFree(buffer);
}
+ // If the previous didn't work, use the default OS language
+ else if (::FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_MAX_WIDTH_MASK,
+ NULL, error_code, 0, (LPSTR)&buffer, 0, NULL)) {
+ message.assign(buffer);
+ ::LocalFree(buffer);
+ }
return message;
}
#endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70442.230071.patch
Type: text/x-patch
Size: 1138 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191119/a3e3a964/attachment.bin>
More information about the lldb-commits
mailing list