Reviewers: William Hesse,
Description:
Fix assumptions in DoubleToFixed.
By luck two errors cancelled each other out.
Please review this at http://codereview.chromium.org/4135014/show
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/conversions.cc
Index: src/conversions.cc
diff --git a/src/conversions.cc b/src/conversions.cc
index
790e807aef4f898413774f6c0c6b6f7ca648e7ea..4cc674485087747d86436d70d519355d926b21cd
100644
--- a/src/conversions.cc
+++ b/src/conversions.cc
@@ -816,7 +816,7 @@ const char* IntToCString(int n, Vector<char> buffer) {
char* DoubleToFixedCString(double value, int f) {
- const int kMaxDigitsBeforePoint = 20;
+ const int kMaxDigitsBeforePoint = 21;
const double kFirstNonFixed = 1e21;
const int kMaxDigitsAfterPoint = 20;
ASSERT(f >= 0);
@@ -840,9 +840,9 @@ char* DoubleToFixedCString(double value, int f) {
// Find a sufficiently precise decimal representation of n.
int decimal_point;
int sign;
- // Add space for the '.' and the '\0' byte.
+ // Add space for the '\0' byte.
const int kDecimalRepCapacity =
- kMaxDigitsBeforePoint + kMaxDigitsAfterPoint + 2;
+ kMaxDigitsBeforePoint + kMaxDigitsAfterPoint + 1;
char decimal_rep[kDecimalRepCapacity];
int decimal_rep_length;
bool status = DoubleToAscii(value, DTOA_FIXED, f,
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev