diff --git a/kernel-src/fs/pipefs.c b/kernel-src/fs/pipefs.c index e1974833..4139f8db 100644 --- a/kernel-src/fs/pipefs.c +++ b/kernel-src/fs/pipefs.c @@ -223,7 +223,7 @@ int pipefs_write(vnode_t *node, void *buffer, size_t size, uintmax_t offset, int if (revents & POLLHUP) break; - size_t freebytes = RINGBUFFER_SIZE(&pipenode->data) - RINGBUFFER_DATACOUNT(&pipenode->data); + size_t freebytes = RINGBUFFER_FREESPACE(&pipenode->data); // case 1 if (nonblock == false && atomic && freebytes >= size) break; diff --git a/kernel-src/include/ringbuffer.h b/kernel-src/include/ringbuffer.h index 53847fd4..f53a3f63 100644 --- a/kernel-src/include/ringbuffer.h +++ b/kernel-src/include/ringbuffer.h @@ -20,5 +20,6 @@ size_t ringbuffer_peek(ringbuffer_t *ringbuffer, void *buffer, uintmax_t offset, #define RINGBUFFER_DATACOUNT(x) ((x)->write - (x)->read) #define RINGBUFFER_SIZE(x) (x)->size +#define RINGBUFFER_FREESPACE(x) (RINGBUFFER_SIZE(x) - RINGBUFFER_DATACOUNT(x)) #endif