.TH buffer_getline_sa 3 .SH NAME buffer_getline_sa \- read line from buffer .SH SYNTAX .nf .B #include .B #include int \fBbuffer_getline_sa\fP(buffer* \fIb\fR,stralloc* \fIsa\fR); .SH DESCRIPTION buffer_getline_sa appends data from the \fIb\fR to \fIsa\fR until a '\\n' is found, NOT overwriting the previous content of \fIsa\fR. The new-line is also appended to \fIsa\fR. If reading from the buffer or allocating memory fails, buffer_getline_sa returns -1 and sets \fIerrno\fR appropriately. At that point \fIsa\fR may be empty or it may already contain a partial token. .SH "RETURN VALUE" -1 on error (setting errno), 0 on EOF, 1 when successful. .SH RATIONALE buffer_getline_sa appends instead of overwriting so it can be used on non-blocking sockets (these signal error and set \fIerrno\fR to EAGAIN; in this case you can simply call buffer_getline_sa again when \fBselect\fR or \fBpoll\fR indicate more data is available). .SH "SEE ALSO" buffer_get_token_sa(3), buffer(3)