chiark / gitweb /
(dstr_vputf): Don't try calling @va_arg@ on things @char@-sized.
[mLib] / man / selbuf.3
index bedae5245241aadd7385191e8a3fc8c258ab9c28..3bd5463ce1acd0680dbf1cd47fe7b228eb456653 100644 (file)
@@ -4,18 +4,22 @@
 selbuf \- line-buffering input selector
 .\" @selbuf_enable
 .\" @selbuf_disable
+.\" @selbuf_setsize
 .\" @selbuf_init
+.\" @selbuf_destroy
 .SH SYNOPSIS
 .nf
 .B "#include <mLib/selbuf.h>"
 
 .BI "void selbuf_enable(selbuf *" b );
 .BI "void selbuf_disable(selbuf *" b );
+.BI "void selbuf_setsize(selbuf *" b ", size_t " sz );
 .BI "void selbuf_init(selbuf *" b ,
 .BI "                 sel_state *" s ,
 .BI "                 int " fd ,
 .BI "                 void (*" func ")(char *" s ", void *" p ),
 .BI "                 void *" p );
+.BI "void selbuf_destroy(selbuf *" b );
 .fi
 .SH DESCRIPTION
 The
@@ -31,9 +35,7 @@ what gets considered to be a line of text and what doesn't, and the
 exact rules about what your line handling function should and shouldn't
 do.
 .PP
-All the data for a
-.B selbuf
-selector is stored in an object of type
+The data for a line selector is stored in an object of type
 .BR selbuf .
 This object must be allocated by the caller, and initialized using the
 .B selbuf_init
@@ -88,6 +90,15 @@ queued up from the last I/O operation: it doesn't necessarily wait for
 the next
 .B sel_select
 call.
+.PP
+The line buffer has a finite amount of memory for reading strings.  The
+size of this buffer is set by calling
+.B selbuf_setsize
+with the requested size.  The default buffer size is 256 bytes.
+.PP
+When it's finished with, a line buffer selector must be destroyed by
+calling
+.BR selbuf_destroy .
 .SH "SEE ALSO"
 .BR lbuf (3),
 .BR sel (3),