summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-05-29 22:51:55 -0400
committerIan Moffett <ian@osmora.org>2025-05-29 22:51:55 -0400
commit6e26339f26b1fea1197a1d9599f5bbfb22755a97 (patch)
tree5d39a89ea24292d0632eee98f07a785896c64824
parent25794813699d39d81db6fee7d524268367275175 (diff)
kernel: descrip: Increment fd offset per read()
Signed-off-by: Ian Moffett <ian@osmora.org>
-rw-r--r--sys/kern/kern_descrip.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c
index d122e89..dd14267 100644
--- a/sys/kern/kern_descrip.c
+++ b/sys/kern/kern_descrip.c
@@ -205,11 +205,20 @@ fd_rw(unsigned int fd, void *buf, size_t count, uint8_t write)
goto done;
}
+ /* End of file? */
+ if (n == 0) {
+ retval = 0;
+ goto done;
+ }
+
if (copyout(kbuf, buf, count) < 0) {
retval = -EFAULT;
goto done;
}
}
+
+ /* Increment the offset per read */
+ filedes->offset += n;
retval = count;
done:
if (kbuf != NULL) {