buffer_getline_sa - read line from buffer
Contents
Description
buffer_getline_sa appends data from the b to sa until a '\n' is found, NOT overwriting the previous
content of sa. The new-line is also appended to sa.
If reading from the buffer or allocating memory fails, buffer_getline_sa returns -1 and sets errno
appropriately. At that point sa may be empty or it may already contain a partial token.
Name
buffer_getline_sa - read line from buffer
Rationale
buffer_getline_sa appends instead of overwriting so it can be used on non-blocking sockets (these signal
error and set errno to EAGAIN; in this case you can simply call buffer_getline_sa again when select or
poll indicate more data is available).
Return Value
-1 on error (setting errno), 0 on EOF, 1 when successful.
See Also
buffer_get_token_sa(3), buffer(3) buffer_getline_sa(3)
Syntax
#include<libowfat/stralloc.h>#include<libowfat/buffer.h>
int buffer_getline_sa(buffer* b,stralloc* sa);
