aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLString.cpp
diff options
context:
space:
mode:
authorGravatar Ethan Nicholas <ethannicholas@google.com>2018-07-31 09:44:36 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-31 15:18:03 +0000
commit0054311bf3b4f619a631e95d8aa1ea2d4bfd01c6 (patch)
treea3a48bece53f8a381c2a2e431db08f5055282e4f /src/sksl/SkSLString.cpp
parentce3c7bbd0de68fda69903107461738b6afc8a3f4 (diff)
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 <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLString.cpp')
-rw-r--r--src/sksl/SkSLString.cpp16
1 files changed, 14 insertions, 2 deletions
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;