X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Fstrbuffer.h;h=b21ef8b06879ba5d99a7f4b8282cd510d22fa329;hb=dd7dd414f0968a2ca6436c493b4d1d4ed0723bda;hp=2b39135c96768f8107de9869882e918bdf7206a3;hpb=197d3aa1608a3442d95152d20e15c2b32204aaaf;p=jansson.git diff --git a/src/strbuffer.h b/src/strbuffer.h index 2b39135..b21ef8b 100644 --- a/src/strbuffer.h +++ b/src/strbuffer.h @@ -1,19 +1,31 @@ +/* + * Copyright (c) 2009-2011 Petri Lehtinen + * + * Jansson is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See LICENSE for details. + */ + #ifndef STRBUFFER_H #define STRBUFFER_H typedef struct { char *value; - int length; - int size; + int length; /* bytes used */ + int size; /* bytes allocated */ } strbuffer_t; -void strbuffer_init(strbuffer_t *strbuff); +int strbuffer_init(strbuffer_t *strbuff); void strbuffer_close(strbuffer_t *strbuff); -char *strbuffer_value(strbuffer_t *strbuff); +void strbuffer_clear(strbuffer_t *strbuff); + +const char *strbuffer_value(const strbuffer_t *strbuff); char *strbuffer_steal_value(strbuffer_t *strbuff); int strbuffer_append(strbuffer_t *strbuff, const char *string); +int strbuffer_append_byte(strbuffer_t *strbuff, char byte); int strbuffer_append_bytes(strbuffer_t *strbuff, const char *data, int size); +char strbuffer_pop(strbuffer_t *strbuff); + #endif