From ad605a1bcc474a689cec4ddf0c5f1a5b01f07872 Mon Sep 17 00:00:00 2001 From: "floitschV8@gmail.com" Date: Wed, 3 Nov 2010 12:05:01 +0000 Subject: [PATCH] Fix assumptions in DoubleToFixed. By luck two errors cancelled each other out. Review URL: http://codereview.chromium.org/4135014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/conversions.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conversions.cc b/src/conversions.cc index 790e807..4cc6744 100644 --- a/src/conversions.cc +++ b/src/conversions.cc @@ -816,7 +816,7 @@ const char* IntToCString(int n, Vector 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, -- 2.7.4