buffer_getnewline_sa - read line from buffer
int buffer_getnewline_sa(buffer* b,stralloc* sa);
buffer_getnewline_sa copies data from the b
until a '\n' is
found, overwriting the previous content of sa
. The new-line is also
appended to sa
If reading from the buffer or allocating memory fails, buffer_getnewline_sa
returns -1 and sets errno
appropriately. At that point sa
empty or it may already contain a partial token.
To read from a non-blocking socket, use buffer_getline_sa.
-1 on error (setting errno), 0 on EOF, 1 when successful.