buffer_get_new_token_sa_pred(3)buffer_get_new_token_sa_pred(3)NAMEbuffer_get_new_token_sa_pred - read token from buffer
SYNTAX
#include <stralloc.h>
#include <buffer.h>
int buffer_get_new_token_sa_pred(buffer* b,stralloc* sa,
int (*predicate)(stralloc* * sa));
DESCRIPTION
buffer_get_token_sa_pred copies data from b to sa until predicate(sa)
returns 1 or -1.
If predicate returns 1 once a '\n' was read, that new-line character is
still appended to sa -- use stralloc_chop or stralloc_chomp to get rid
of it. predicate can also return 0 (indicating further input is
required to complete the token) or -1 (abort and return -1; use this if
predicate wants to enfore a maximum message size or does timeout han‐
dling or detects a malformed message).
If reading from the buffer or allocating memory fails, buf‐
fer_get_new_token_sa_pred returns -1 and sets errno appropriately. At
that point sa may already contain a partial token.
On success, buffer_get_new_token_sa_pred returns 0.
If you want to read from a non-blocking socket, use buf‐
fer_get_token_sa_pred instead.
SEE ALSObuffer_getline_sa(3), buffer_get_token(3), buffer(3)buffer_get_new_token_sa_pred(3)