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

Reply via email to