Mercurial > code
diff buffer.h @ 47:fea13579acbe
Some change in buffer
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 07 Oct 2011 16:10:33 +0200 |
parents | 5252fa9b5cb1 |
children | bbe0713e8e2a |
line wrap: on
line diff
--- a/buffer.h Wed Oct 05 19:46:31 2011 +0200 +++ b/buffer.h Fri Oct 07 16:10:33 2011 +0200 @@ -21,34 +21,30 @@ #define BUFFER_DEFAULT_BSIZE 512 -#define BUFFER_FIXED 0x00 -#define BUFFER_AUTO 0x01 - #include <stdarg.h> -struct buffer { - char *data; /* string buffer */ - size_t length; /* string's length */ - - int flags; /* buffer's flags (default AUTO) */ - - /* Private should not be modified by user */ - size_t size; /* current size */ - size_t bsize; /* block size */ +enum buffer_type { + BUFFER_FIXED = 0, + BUFFER_AUTO = 1 }; -struct buffer *buffer_new(const char *, size_t, int); -#define buffer_new_auto(size) buffer_new(NULL, size, BUFFER_AUTO) -#define buffer_new_fixed(max) buffer_new(NULL, max, BUFFER_FIXED) +struct buffer { + enum buffer_type type; /* buffer type (default AUTO) */ + char *data; /* string buffer */ + size_t length; /* string's real length */ + size_t size; /* current allocated size */ + int bsize; /* initial length */ +}; -int buffer_strcat(struct buffer *, const char *); -int buffer_putc(struct buffer *buf, char); -int buffer_bcat(struct buffer *, const void *, size_t); -int buffer_vprintf(struct buffer *, const char *, va_list); -int buffer_printf(struct buffer *, const char *, ...); -int buffer_shrink(struct buffer *); -char *buffer_end(struct buffer *); -void buffer_clear(struct buffer *); -void buffer_free(struct buffer *); +struct buffer *buffer_new(enum buffer_type, int); +int buffer_strcat(struct buffer *, const char *); +int buffer_putc(struct buffer *buf, char); +int buffer_bcat(struct buffer *, const void *, size_t); +int buffer_vprintf(struct buffer *, const char *, va_list); +int buffer_printf(struct buffer *, const char *, ...); +int buffer_shrink(struct buffer *); +char *buffer_end(struct buffer *); +void buffer_clear(struct buffer *); +void buffer_free(struct buffer *); #endif /* _BUFFER_H_ */