diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2017-06-27 09:56:09 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-27 14:20:05 +0000 |
commit | ccf59917d3fe7aaf59de714acfbd0596503f324f (patch) | |
tree | cc97719c47276c9dcbf0ec09effd580c4e7450dd /src/sksl/SkSLString.cpp | |
parent | c3aef18419c1bb16951370e11758c7ef131fa10b (diff) |
sksl fragment processor support
Bug: skia:
Change-Id: Ia3b0305c2b0c78074303831f628fb01852b90d34
Reviewed-on: https://skia-review.googlesource.com/17843
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@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); } |