From 0054311bf3b4f619a631e95d8aa1ea2d4bfd01c6 Mon Sep 17 00:00:00 2001 From: Ethan Nicholas Date: Tue, 31 Jul 2018 09:44:36 -0400 Subject: Re-re-land "added GrSkSLFP and converted DitherEffect to use it" This reverts commit 6c48e4d11ce80fa5cfef56e13b2d5847fe94a7cc. Bug: skia: Change-Id: I7ee78990fc30eec545d1856e59eb6e0573089426 Reviewed-on: https://skia-review.googlesource.com/144348 Reviewed-by: Brian Salomon Commit-Queue: Ethan Nicholas --- src/sksl/SkSLString.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/sksl/SkSLString.cpp') diff --git a/src/sksl/SkSLString.cpp b/src/sksl/SkSLString.cpp index 125dabb335..292cef5159 100644 --- a/src/sksl/SkSLString.cpp +++ b/src/sksl/SkSLString.cpp @@ -210,10 +210,22 @@ String to_string(double value) { #endif #define MAX_DOUBLE_CHARS 25 char buffer[MAX_DOUBLE_CHARS]; - SkDEBUGCODE(int len = )SNPRINTF(buffer, sizeof(buffer), "%.17g", value); + int len = SNPRINTF(buffer, sizeof(buffer), "%.17g", value); SkASSERT(len < MAX_DOUBLE_CHARS); + bool needsDotZero = true; + for (int i = 0; i < len; ++i) { + char c = buffer[i]; + if (c == ',') { + buffer[i] = '.'; + needsDotZero = false; + break; + } else if (c == '.' || c == 'e') { + needsDotZero = false; + break; + } + } String result(buffer); - if (!strchr(buffer, '.') && !strchr(buffer, 'e')) { + if (needsDotZero) { result += ".0"; } return result; -- cgit v1.2.3