diff options
| author | UENISHI Kota <kuenishi+github@gmail.com> | 2010-06-03 00:14:19 +0900 |
|---|---|---|
| committer | UENISHI Kota <kuenishi+github@gmail.com> | 2010-06-03 00:14:19 +0900 |
| commit | 8ecaf7ad4ce4185e81fae775332282ed551fa886 (patch) | |
| tree | 68b7fb5c875f5620033ac8fa4e046bfdd51f78d0 /cpp/src/msgpack/sbuffer.h | |
| parent | 49f3872d047624b1995b8c60edec8bad35429fd3 (diff) | |
| parent | d4049fe593ae4465e7a258d138c2166571a0f1a7 (diff) | |
| download | msgpack-python-8ecaf7ad4ce4185e81fae775332282ed551fa886.tar.gz | |
Merge branch 'master' of ssh://github.com/msgpack/msgpack
Diffstat (limited to 'cpp/src/msgpack/sbuffer.h')
| -rw-r--r-- | cpp/src/msgpack/sbuffer.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/cpp/src/msgpack/sbuffer.h b/cpp/src/msgpack/sbuffer.h index 57f424a..778dea7 100644 --- a/cpp/src/msgpack/sbuffer.h +++ b/cpp/src/msgpack/sbuffer.h @@ -21,15 +21,17 @@ #include <stdlib.h> #include <string.h> -#ifndef MSGPACK_SBUFFER_INIT_SIZE -#define MSGPACK_SBUFFER_INIT_SIZE 8192 -#endif - #ifdef __cplusplus extern "C" { #endif +/** + * @defgroup msgpack_sbuffer Simple buffer + * @ingroup msgpack_buffer + * @{ + */ + typedef struct msgpack_sbuffer { size_t size; char* data; @@ -46,6 +48,22 @@ static inline void msgpack_sbuffer_destroy(msgpack_sbuffer* sbuf) free(sbuf->data); } +static inline msgpack_sbuffer* msgpack_sbuffer_new(void) +{ + return (msgpack_sbuffer*)calloc(1, sizeof(msgpack_sbuffer)); +} + +static inline void msgpack_sbuffer_free(msgpack_sbuffer* sbuf) +{ + if(sbuf == NULL) { return; } + msgpack_sbuffer_destroy(sbuf); + free(sbuf); +} + +#ifndef MSGPACK_SBUFFER_INIT_SIZE +#define MSGPACK_SBUFFER_INIT_SIZE 8192 +#endif + static inline int msgpack_sbuffer_write(void* data, const char* buf, unsigned int len) { msgpack_sbuffer* sbuf = (msgpack_sbuffer*)data; @@ -82,6 +100,9 @@ static inline void msgpack_sbuffer_clear(msgpack_sbuffer* sbuf) sbuf->size = 0; } +/** @} */ + + #ifdef __cplusplus } #endif |
