aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLCPPCodeGenerator.cpp
diff options
context:
space:
mode:
authorGravatar Ethan Nicholas <ethannicholas@google.com>2017-10-30 10:04:14 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-30 17:22:49 +0000
commitef0c9fd3c1626efef8176c0a66205a0718e9f8c2 (patch)
tree9ea1420ba64cff7c3bd42bfa377a2528f308d611 /src/sksl/SkSLCPPCodeGenerator.cpp
parenta50deea95d5e5700eec098b3bec3830735aad5d9 (diff)
fix skslc splitting escape sequences in half
Bug: skia: Change-Id: I810c4e77664bffb711969fb513f396646972f66e Reviewed-on: https://skia-review.googlesource.com/65100 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLCPPCodeGenerator.cpp')
-rw-r--r--src/sksl/SkSLCPPCodeGenerator.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sksl/SkSLCPPCodeGenerator.cpp b/src/sksl/SkSLCPPCodeGenerator.cpp
index 3f1d15669d..506daa8b4f 100644
--- a/src/sksl/SkSLCPPCodeGenerator.cpp
+++ b/src/sksl/SkSLCPPCodeGenerator.cpp
@@ -475,6 +475,9 @@ void CPPCodeGenerator::writeCodeAppend(const String& code) {
if (code[index + 1] != '%') {
++argCount;
}
+ } else if ('\\' == code[index] && index == start + maxChunkSize - 1) {
+ // avoid splitting an escape sequence that happens to fall across a chunk boundary
+ break;
}
++index;
}