From 2c299d71fcc21cf7f4dde1547db0dc32f1d44248 Mon Sep 17 00:00:00 2001 From: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com> Date: Fri, 29 Jul 2022 23:40:19 +0200 Subject: [PATCH] devoptab: Make sure file->offset gets updated and initialized --- libraries/wutdevoptab/devoptab_fs_open.c | 1 + libraries/wutdevoptab/devoptab_fs_read.c | 1 + libraries/wutdevoptab/devoptab_fs_write.c | 1 + 3 files changed, 3 insertions(+) diff --git a/libraries/wutdevoptab/devoptab_fs_open.c b/libraries/wutdevoptab/devoptab_fs_open.c index 811ee365..7a60fbe4 100644 --- a/libraries/wutdevoptab/devoptab_fs_open.c +++ b/libraries/wutdevoptab/devoptab_fs_open.c @@ -59,6 +59,7 @@ __wut_fs_open(struct _reent *r, file = (__wut_fs_file_t *)fileStruct; file->fd = fd; file->flags = (flags & (O_ACCMODE|O_APPEND|O_SYNC)); + file->offset = 0; if (flags & O_APPEND) { status = FSGetPosFile(__wut_devoptab_fs_client, &cmd, fd, &file->offset, FS_ERROR_FLAG_ALL); if (status < 0) { diff --git a/libraries/wutdevoptab/devoptab_fs_read.c b/libraries/wutdevoptab/devoptab_fs_read.c index a10ccbb9..1f66a657 100644 --- a/libraries/wutdevoptab/devoptab_fs_read.c +++ b/libraries/wutdevoptab/devoptab_fs_read.c @@ -56,6 +56,7 @@ ssize_t __wut_fs_read(struct _reent *r, void *fd, char *ptr, size_t len) { memcpy(ptr, alignedBuffer, status); } + file->offset += status; bytesRead += status; ptr += status; diff --git a/libraries/wutdevoptab/devoptab_fs_write.c b/libraries/wutdevoptab/devoptab_fs_write.c index 377bbe10..5259c272 100644 --- a/libraries/wutdevoptab/devoptab_fs_write.c +++ b/libraries/wutdevoptab/devoptab_fs_write.c @@ -53,6 +53,7 @@ ssize_t __wut_fs_write(struct _reent *r, void *fd, const char *ptr, size_t len) return -1; } + file->offset += status; bytesWritten += status; ptr += status;