add buffer_peekc
parent
32cafc2b80
commit
50ceb217ab
@ -0,0 +1,17 @@
|
||||
.TH buffer_peekc 3
|
||||
.SH NAME
|
||||
buffer_peekc \- read one char from buffer
|
||||
.SH SYNTAX
|
||||
.B #include <libowfat/buffer.h>
|
||||
|
||||
int \fBbuffer_peekc\fP(buffer* \fIb\fR,char* \fIx\fR);
|
||||
.SH DESCRIPTION
|
||||
buffer_peekc(b,x) is like buffer_get(b,x,1) but without
|
||||
advancing the buffer pointer. If you call it again, or call
|
||||
\fIbuffer_getc\fR after it, you will get the same data again.
|
||||
|
||||
.SH "RETURN VALUE"
|
||||
\fIbuffer_peekc\fR returns 1 on success, 0 when at the end of the file,
|
||||
or -1 if there was an I/O error (setting \fIerrno\fR appropriately).
|
||||
.SH "SEE ALSO"
|
||||
buffer_init(3), buffer_get(3), buffer_getc(3), buffer(3)
|
@ -0,0 +1,11 @@
|
||||
#include "byte.h"
|
||||
#include "buffer.h"
|
||||
|
||||
ssize_t buffer_peekc(buffer* b,char* x) {
|
||||
if (b->p==b->n) {
|
||||
register ssize_t blen;
|
||||
if ((blen=buffer_feed(b))<=0) return blen;
|
||||
}
|
||||
*x=b->x[b->p];
|
||||
return 1;
|
||||
}
|
Loading…
Reference in New Issue