From 283026a7614a7e2576e8cd8568f8f5fb45424788 Mon Sep 17 00:00:00 2001 From: Andrei Gramakov Date: Wed, 8 Apr 2020 15:41:12 +0200 Subject: [PATCH] vfs: semihost driver bugfix --- components/vfs/vfs_semihost.c | 4 ++-- .../storage/semihost_vfs/main/semihost_vfs_example_main.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/vfs/vfs_semihost.c b/components/vfs/vfs_semihost.c index b89f26fbd..313567572 100644 --- a/components/vfs/vfs_semihost.c +++ b/components/vfs/vfs_semihost.c @@ -223,7 +223,7 @@ static ssize_t vfs_semihost_write(void* ctx, int fd, const void * data, size_t s if (ret == -1) { errno = host_err; } - return (ssize_t)ret; + return size - (ssize_t)ret; /* Write syscall returns the number of bytes NOT written */ } static ssize_t vfs_semihost_read(void* ctx, int fd, void* data, size_t size) @@ -237,7 +237,7 @@ static ssize_t vfs_semihost_read(void* ctx, int fd, void* data, size_t size) errno = host_err; return ret; } - return size - (ssize_t)ret; /* Write syscall returns the number of bytes NOT written */ + return size - (ssize_t)ret; /* Read syscall returns the number of bytes NOT read */ } diff --git a/examples/storage/semihost_vfs/main/semihost_vfs_example_main.c b/examples/storage/semihost_vfs/main/semihost_vfs_example_main.c index a3ed216c1..60031f56b 100644 --- a/examples/storage/semihost_vfs/main/semihost_vfs_example_main.c +++ b/examples/storage/semihost_vfs/main/semihost_vfs_example_main.c @@ -39,7 +39,7 @@ void app_main(void) return; } // Increase file buffer to perform data transfers using larger chunks. - // Every read/write triggers breakpoint, so transfering of small chunks is quite inefficient. + // Every read/write triggers breakpoint, so transferring of small chunks is quite inefficient. setvbuf(fout, (char *)s_buf, _IOFBF, sizeof(s_buf)); // this will be printed to the file on host