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