Home | History | Annotate | Download | only in error_handling
      1 /*
      2  * Copyright (c) 2013 The Chromium Authors. All rights reserved.
      3  * Use of this source code is governed by a BSD-style license that can be
      4  * found in the LICENSE file.
      5  */
      6 
      7 #ifndef ERROR_HANDLING_STRING_STREAM_H
      8 #define ERROR_HANDLING_STRING_STREAM_H
      9 
     10 /*
     11  * Support for a stream stream in 'C', which is appended to via an sprintf-like
     12  * function.
     13  */
     14 
     15 #include <stdarg.h>
     16 #include <stdint.h>
     17 
     18 typedef struct {
     19   char* data;
     20   size_t length;
     21 } sstream_t;
     22 
     23 void ssinit(sstream_t* stream);
     24 void ssfree(sstream_t* stream);
     25 
     26 /* Returns the number of bytes added to the stream. */
     27 int ssvprintf(sstream_t* sstream, const char* format, va_list args);
     28 int ssprintf(sstream_t* sstream, const char* format, ...);
     29 
     30 #endif  /* ERROR_HANDLING_STRING_STREAM_H */
     31