Home | History | Annotate | Download | only in sksl
      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 
     12 void OutputStream::writeString(String s) {
     13     this->write(s.c_str(), s.size());
     14 }
     15 
     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 
     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