buffer_get_token_sa - read token from buffer
Contents
Description
buffer_get_token_sa appends data from the b to sa until one of the delimiters in charset is found, NOT
overwriting the previous content of sa. That delimiter is also appended to sa.
If reading from the buffer or allocating memory fails, buffer_get_token_sa returns -1 and sets errno
appropriately. At that point sa may already contain a partial token.
Name
buffer_get_token_sa - read token from buffer
Rationale
buffer_get_token_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_get_token_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_getline_sa(3), buffer_get_token(3), buffer(3) buffer_get_token_sa(3)
Syntax
#include<libowfat/stralloc.h>#include<libowfat/buffer.h>
int buffer_get_token_sa(buffer* b,stralloc* sa,
const char* charset,size_t setlen);
