ne_buffer — string buffer handling


#include <ne_string.h>

typedef struct {
    char *data;
    size_t used;
    size_t length;
} ne_buffer;


The ne_buffer type represents an expandable memory buffer for holding NUL-terminated strings. The data field points to the beginnning of the string, the length of which is given by the used field. The current size of memory allocated is given by the length field. It is not recommended that the fields of a buffer are manipulated directly. The data pointer may change when the buffer is modified.

A buffer is created using ne_buffer_create or ne_buffer_ncreate, and destroyed using ne_buffer_destroy or ne_buffer_finish. The functions ne_buffer_append, ne_buffer_zappend and ne_buffer_concat are used to append data to a buffer.

If the string referenced by the data pointer is modified directly (rather than using one of the functions listed above), ne_buffer_altered must be called.