ec1009edb05928e9c12e6df7b42b6f3929749f36
[jansson.git] / src / strbuffer.h
1 #ifndef STRBUFFER_H
2 #define STRBUFFER_H
3
4 typedef struct {
5     char *value;
6     int length;   /* bytes used */
7     int size;     /* bytes allocated */
8 } strbuffer_t;
9
10 int strbuffer_init(strbuffer_t *strbuff);
11 void strbuffer_close(strbuffer_t *strbuff);
12
13 void strbuffer_clear(strbuffer_t *strbuff);
14
15 const char *strbuffer_value(const strbuffer_t *strbuff);
16 char *strbuffer_steal_value(strbuffer_t *strbuff);
17
18 int strbuffer_append(strbuffer_t *strbuff, const char *string);
19 int strbuffer_append_byte(strbuffer_t *strbuff, char byte);
20 int strbuffer_append_bytes(strbuffer_t *strbuff, const char *data, int size);
21
22 char strbuffer_pop(strbuffer_t *strbuff);
23
24 #endif