comparison jansson/src/strbuffer.h @ 0:0047655db1aa

jansson: import 2.7
author David Demelier <markand@malikania.fr>
date Wed, 24 Feb 2016 20:50:05 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:0047655db1aa
1 /*
2 * Copyright (c) 2009-2014 Petri Lehtinen <petri@digip.org>
3 *
4 * Jansson is free software; you can redistribute it and/or modify
5 * it under the terms of the MIT license. See LICENSE for details.
6 */
7
8 #ifndef STRBUFFER_H
9 #define STRBUFFER_H
10
11 typedef struct {
12 char *value;
13 size_t length; /* bytes used */
14 size_t size; /* bytes allocated */
15 } strbuffer_t;
16
17 int strbuffer_init(strbuffer_t *strbuff);
18 void strbuffer_close(strbuffer_t *strbuff);
19
20 void strbuffer_clear(strbuffer_t *strbuff);
21
22 const char *strbuffer_value(const strbuffer_t *strbuff);
23
24 /* Steal the value and close the strbuffer */
25 char *strbuffer_steal_value(strbuffer_t *strbuff);
26
27 int strbuffer_append(strbuffer_t *strbuff, const char *string);
28 int strbuffer_append_byte(strbuffer_t *strbuff, char byte);
29 int strbuffer_append_bytes(strbuffer_t *strbuff, const char *data, size_t size);
30
31 char strbuffer_pop(strbuffer_t *strbuff);
32
33 #endif