X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Fstrbuffer.h;h=4afefa9ffb25dfa393d9142af64877f00be285df;hb=dd2fe1ebe80fa9a95265fbcd20b6ffdfdc30d469;hp=2b39135c96768f8107de9869882e918bdf7206a3;hpb=197d3aa1608a3442d95152d20e15c2b32204aaaf;p=jansson.git diff --git a/src/strbuffer.h b/src/strbuffer.h index 2b39135..4afefa9 100644 --- a/src/strbuffer.h +++ b/src/strbuffer.h @@ -1,19 +1,31 @@ +/* + * Copyright (c) 2009 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