aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/cpp/util/strings.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/cpp/util/strings.cc b/src/main/cpp/util/strings.cc
index 574df217a5..df4ae75bb6 100644
--- a/src/main/cpp/util/strings.cc
+++ b/src/main/cpp/util/strings.cc
@@ -327,11 +327,13 @@ string AsLower(const string &str) {
template <typename U, typename V>
static unique_ptr<V[]> UstringToVstring(
- const U *input, size_t (*convert)(V *output, const U *input, size_t len)) {
+ const U *input, size_t (*convert)(V *output, const U *input, size_t len),
+ const char* fmtStringU) {
size_t size = convert(nullptr, input, 0) + 1;
if (size == (size_t)-1) {
fprintf(stderr, "UstringToVstring: invalid input \"");
- fprintf(stderr, sizeof(U) == sizeof(char) ? "%s\"\n" : "%S\"\n", input);
+ fprintf(stderr, fmtStringU, input);
+ fprintf(stderr, "\"\n");
exit(blaze_exit_code::INTERNAL_ERROR);
return unique_ptr<V[]>(nullptr); // formally return, though unreachable
}
@@ -342,11 +344,11 @@ static unique_ptr<V[]> UstringToVstring(
}
unique_ptr<char[]> WstringToCstring(const wchar_t *input) {
- return UstringToVstring<wchar_t, char>(input, wcstombs);
+ return UstringToVstring<wchar_t, char>(input, wcstombs, "%ls");
}
unique_ptr<wchar_t[]> CstringToWstring(const char *input) {
- return UstringToVstring<char, wchar_t>(input, mbstowcs);
+ return UstringToVstring<char, wchar_t>(input, mbstowcs, "%s");
}
} // namespace blaze_util