ne_buffer_destroy
Prev | neon API reference | Next

## Name

ne_buffer_destroy, ne_buffer_finish — destroy a buffer object

## Synopsis

    #include <ne_string.h>

`void ne_buffer_destroy(` | ne_buffer *buf`)`;

`char *ne_buffer_finish(` | ne_buffer *buf`)`;

## Description

`ne_buffer_destroy` frees all memory associated with the buffer. `ne_buffer_finish` frees the buffer structure, but not the actual string stored in the buffer, which is returned and must be `free`()d by the caller.

Any use of the buffer object after calling either of these functions gives undefined behaviour.

## Return value

`ne_buffer_finish` returns the `malloc`-allocated string stored in the buffer.

## Examples

An example use of `ne_buffer_finish`; the `duplicate` function returns a string made up of `n` copies of `str`:

    static char *duplicate(int n, const char *str)
    {
      ne_buffer *buf = ne_buffer_create();
      while (n--) {
        ne_buffer_zappend(buf, str);
      }
      return ne_buffer_finish(buf);
    }

## See also

ne_buffer, ne_buffer_create, ne_buffer_zappend

Prev | Up | Next
ne_buffer_create | Home | ne_strhash