From 0a5af0a62ba2ed1c17404b1dd8ed15b0ff41abf7 Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Sat, 17 Jun 2017 18:45:31 +0200 Subject: kern/cbuf: implement buffered reads and writes This change brings an interface for fast buffered accesses to the content of a circular buffer, and also an interface to write into a circular buffer at custom locations, in exchange for a small interface break of cbuf_read. --- kern/log.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'kern/log.c') diff --git a/kern/log.c b/kern/log.c index a3b34f37..9f95ca83 100644 --- a/kern/log.c +++ b/kern/log.c @@ -144,8 +144,8 @@ log_record_consume(struct log_record *record, char c, size_t *sizep) static int log_record_init_consume(struct log_record *record, unsigned long *indexp) { + size_t size, c_size; bool marker_found; - size_t size; int error; char c; @@ -161,7 +161,8 @@ log_record_init_consume(struct log_record *record, unsigned long *indexp) break; } - error = cbuf_read(&log_cbuf, *indexp, &c); + c_size = 1; + error = cbuf_read(&log_cbuf, *indexp, &c, &c_size); if (error) { *indexp = cbuf_start(&log_cbuf); -- cgit v1.2.3