You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.1 KiB
Groff

.TH buffer_get_token_sa 3
.SH NAME
buffer_get_token_sa \- read token from buffer
.SH SYNTAX
.nf
.B #include <stralloc.h>
.B #include <buffer.h>
int \fBbuffer_get_token_sa\fP(buffer* \fIb\fR,stralloc* \fIsa\fR,
const unsigned char* \fIcharset\fR,unsigned long int \fIsetlen\fR);
.SH DESCRIPTION
buffer_get_token_sa appends data from the \fIb\fR to \fIsa\fR until one
of the delimiters in \fIcharset\fR is found, NOT overwriting the
previous content of \fIsa\fR. That delimiter is also appended to
\fIsa\fR.
If reading from the buffer or allocating memory fails,
buffer_get_token_sa returns -1 and sets \fIerrno\fR appropriately. At
that point \fIsa\fR may already contain a partial token.
On success, buffer_get_token_sa returns 0.
.SH RATIONALE
buffer_get_token_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_get_token_sa again when
\fBselect\fR or \fBpoll\fR indicate more data is available).
.SH "SEE ALSO"
buffer_getline_sa(3), buffer_get_token(3), buffer(3)