diff options
Diffstat (limited to 'src/stringbuf.h')
| -rw-r--r-- | src/stringbuf.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/stringbuf.h b/src/stringbuf.h new file mode 100644 index 0000000..dda32cd --- /dev/null +++ b/src/stringbuf.h @@ -0,0 +1,31 @@ +#ifndef STRINGBUF_H +#define STRINGBUF_H + +#include <stdlib.h> + +typedef struct StringBuf StringBuf; + +struct StringBuf +{ + char *data; + int size; + int len; +}; + +int StringBufInit(StringBuf *buf, size_t size); + +int StringBufInitFromCString(StringBuf *buf, const char *s, int len); + +int StringBufInitFromData(StringBuf *buf, const void *ptr, size_t size); + +void StringBufDeinit(StringBuf *buf); + +size_t StringBufAvailable(StringBuf *buf); + +int StringBufGrow(StringBuf *buf, size_t size); + +int StringBufAppendData(StringBuf *buf, const void *ptr, size_t size); + +#define StaticStringBuf(S) { "" S, -1, sizeof(S)-1 } + +#endif |
