diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2017-06-29 10:03:38 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-29 14:57:47 +0000 |
commit | 762466e9fe0478bcf11fba532998e81e33b3069e (patch) | |
tree | 8934a152b11007d7d530db05f7ba731bb05aa5c0 /src/sksl/SkSLString.cpp | |
parent | e78c8ed9cba31ebb970d3002270ddb03f4d6baae (diff) |
Re-re-land sksl fragment processor support
This reverts commit 5ce397205528f82084fc650c2ce27d246c01da33.
Bug: skia:
Change-Id: I88260c90004610a1cf8ad1a87c2b4b222525bbb6
Reviewed-on: https://skia-review.googlesource.com/21108
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLString.cpp')
-rw-r--r-- | src/sksl/SkSLString.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/sksl/SkSLString.cpp b/src/sksl/SkSLString.cpp index 9b2c1780f8..fb8fd56de8 100644 --- a/src/sksl/SkSLString.cpp +++ b/src/sksl/SkSLString.cpp @@ -40,15 +40,16 @@ void String::vappendf(const char* fmt, va_list args) { #endif #define BUFFER_SIZE 256 char buffer[BUFFER_SIZE]; + va_list reuse; + va_copy(reuse, args); size_t size = VSNPRINTF(buffer, BUFFER_SIZE, fmt, args); if (BUFFER_SIZE >= size) { this->append(buffer, size); } else { - auto newBuffer = std::unique_ptr<char[]>(new char[size]); - VSNPRINTF(newBuffer.get(), size, fmt, args); + auto newBuffer = std::unique_ptr<char[]>(new char[size + 1]); + VSNPRINTF(newBuffer.get(), size + 1, fmt, reuse); this->append(newBuffer.get(), size); } - va_end(args); } |