1 /*
2  * Copyright 2019 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #include "SkSLOutputStream.h"
9 
10 namespace SkSL {
11 
writeString(String s)12 void OutputStream::writeString(String s) {
13     this->write(s.c_str(), s.size());
14 }
15 
printf(const char format[],...)16 void OutputStream::printf(const char format[], ...) {
17    va_list args;
18    va_start(args, format);
19    this->appendVAList(format, args);
20    va_end(args);
21 }
22 
appendVAList(const char format[],va_list args)23 void OutputStream::appendVAList(const char format[], va_list args) {
24     char buffer[kBufferSize];
25     int length = vsnprintf(buffer, kBufferSize, format, args);
26     SkASSERT(length >= 0 && length < (int) kBufferSize);
27     this->write(buffer, length);
28 }
29 
30 }
31