Index: base/strings/string_number_conversions.cc |
diff --git a/base/strings/string_number_conversions.cc b/base/strings/string_number_conversions.cc |
index c9b11156ff095e8716c15370881e7ee3e6509555..39daecec9d9c39838004887e653f71fd84cb0c66 100644 |
--- a/base/strings/string_number_conversions.cc |
+++ b/base/strings/string_number_conversions.cc |
@@ -12,6 +12,7 @@ |
#include <limits> |
#include "base/logging.h" |
+#include "base/scoped_clear_errno.h" |
#include "base/third_party/dmg_fp/dmg_fp.h" |
#include "base/utf_string_conversions.h" |
@@ -450,7 +451,9 @@ bool StringToSizeT(const StringPiece16& input, size_t* output) { |
} |
bool StringToDouble(const std::string& input, double* output) { |
- errno = 0; // Thread-safe? It is on at least Mac, Linux, and Windows. |
+ // Thread-safe? It is on at least Mac, Linux, and Windows. |
+ ScopedClearErrno clear_errno; |
+ |
char* endptr = NULL; |
*output = dmg_fp::strtod(input.c_str(), &endptr); |