NAME¶
buffer_getline_sa - read line from buffer
SYNTAX¶
#include <stralloc.h>
#include <buffer.h>
int buffer_getline_sa(buffer* b,stralloc* sa);
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.
RETURN VALUE¶
-1 on error (setting errno), 0 on EOF, 1 when successful.
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).
SEE ALSO¶
buffer_get_token_sa(3),
buffer(3)