Chromium Code Reviews| Index: src/inspector/string-16.cc |
| diff --git a/src/inspector/string-16.cc b/src/inspector/string-16.cc |
| index 2847e7bd61097389da87f32b58a5e2b82fe4ce69..581d4679d00640dc101ad8fcacc17e5a882b7dd7 100644 |
| --- a/src/inspector/string-16.cc |
| +++ b/src/inspector/string-16.cc |
| @@ -8,13 +8,11 @@ |
| #include <cctype> |
| #include <cstdlib> |
| #include <cstring> |
| -#include <iomanip> |
| #include <limits> |
| -#include <locale> |
| -#include <sstream> |
| #include <string> |
| #include "src/base/platform/platform.h" |
| +#include "src/conversions.h" |
| namespace v8_inspector { |
| @@ -367,13 +365,14 @@ static inline void putUTF8Triple(char*& buffer, UChar ch) { |
| // static |
| String16 String16::fromInteger(int number) { |
| const size_t kBufferSize = 50; |
| - char buffer[kBufferSize]; |
| - v8::base::OS::SNPrintF(buffer, kBufferSize, "%d", number); |
| - return String16(buffer); |
| + char arr[kBufferSize]; |
| + v8::internal::Vector<char> buffer(arr, arraysize(arr)); |
| + return String16(IntToCString(number, buffer)); |
| } |
| // static |
| String16 String16::fromInteger(size_t number) { |
| + return fromInteger(static_cast<int>(number)); |
|
alph
2016/11/28 23:10:15
dead code below?
kozy
2016/11/28 23:12:45
good catch, removed this line.
|
| const size_t kBufferSize = 50; |
| char buffer[kBufferSize]; |
| #if !defined(_WIN32) && !defined(_WIN64) |
| @@ -386,19 +385,17 @@ String16 String16::fromInteger(size_t number) { |
| // static |
| String16 String16::fromDouble(double number) { |
| - std::ostringstream s; |
| - s.imbue(std::locale("C")); |
| - s << std::fixed << std::setprecision(std::numeric_limits<double>::digits10) |
| - << number; |
| - return String16(s.str().c_str()); |
| + const size_t kBufferSize = 50; |
| + char arr[kBufferSize]; |
| + v8::internal::Vector<char> buffer(arr, arraysize(arr)); |
| + return String16(DoubleToCString(number, buffer)); |
| } |
| // static |
| String16 String16::fromDouble(double number, int precision) { |
| - std::ostringstream s; |
| - s.imbue(std::locale("C")); |
| - s << std::fixed << std::setprecision(precision) << number; |
| - return String16(s.str().c_str()); |
| + std::unique_ptr<char[]> str( |
| + v8::internal::DoubleToPrecisionCString(number, precision)); |
| + return String16(str.get()); |
| } |
| int String16::toInteger(bool* ok) const { |