Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

src: refactor to use locale functions #39014

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/inspector/node_string.cc
Expand Up @@ -71,14 +71,14 @@ String StringViewToUtf8(v8_inspector::StringView view) {

String fromDouble(double d) {
std::ostringstream stream;
stream.imbue(std::locale("C")); // Ignore locale
stream.imbue(std::locale::classic()); // Ignore current locale
stream << d;
return stream.str();
}

double toDouble(const char* buffer, size_t length, bool* ok) {
std::istringstream stream(std::string(buffer, length));
stream.imbue(std::locale("C")); // Ignore locale
stream.imbue(std::locale::classic()); // Ignore current locale
double d;
stream >> d;
*ok = !stream.fail();
Expand Down
2 changes: 1 addition & 1 deletion src/tracing/traced_value.cc
Expand Up @@ -94,7 +94,7 @@ std::string DoubleToCString(double v) {
default:
// This is a far less sophisticated version than the one used inside v8.
std::ostringstream stream;
stream.imbue(std::locale("C")); // Ignore locale
stream.imbue(std::locale::classic()); // Ignore current locale
stream << v;
return stream.str();
}
Expand Down
5 changes: 3 additions & 2 deletions src/util-inl.h
Expand Up @@ -26,6 +26,7 @@

#include <cmath>
#include <cstring>
#include <locale>
#include "util.h"

// These are defined by <sys/byteorder.h> or <netinet/in.h> on some systems.
Expand Down Expand Up @@ -274,7 +275,7 @@ void SwapBytes64(char* data, size_t nbytes) {
}

char ToLower(char c) {
return c >= 'A' && c <= 'Z' ? c + ('a' - 'A') : c;
return std::tolower(c, std::locale::classic());
}

std::string ToLower(const std::string& in) {
Expand All @@ -285,7 +286,7 @@ std::string ToLower(const std::string& in) {
}

char ToUpper(char c) {
return c >= 'a' && c <= 'z' ? (c - 'a') + 'A' : c;
return std::toupper(c, std::locale::classic());
}

std::string ToUpper(const std::string& in) {
Expand Down