#include <stralloc.h> #include <buffer.h> int buffer_get_new_token_sa(buffer* b,stralloc* sa, const char* charset,size_t setlen);
buffer_get_new_token_sa copies data from the b to sa until one of the delimiters in charset is found, overwriting the previous content of sa. That delimiter is also copied to sa.
If reading from the buffer or allocating memory fails, buffer_get_new_token_sa returns -1 and sets errno appropriately. At that point sa may already contain a partial token.
If you want to read from a non-blocking socket, use buffer_get_token_sa instead.
-1 on error (setting errno), 0 on EOF, 1 when successful.
buffer_getline_sa(3), buffer_get_token(3), buffer(3)