From cc9c48711a036334d2a7effcac86d68d062bc917 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Tue, 29 Oct 2024 14:15:08 -0300 Subject: [PATCH] hdd_image: Improve I/O error detection --- src/disk/hdd_image.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/disk/hdd_image.c b/src/disk/hdd_image.c index 2b463a23c..4607e2b14 100644 --- a/src/disk/hdd_image.c +++ b/src/disk/hdd_image.c @@ -538,9 +538,9 @@ hdd_image_read(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buffer) } num_read = fread(buffer, 512, count, hdd_images[id].file); - if (count && !num_read) - return -1; hdd_images[id].pos = sector + num_read; + if (num_read < count) + return -1; } return 0; @@ -591,10 +591,10 @@ hdd_image_write(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buffer) } num_write = fwrite(buffer, 512, count, hdd_images[id].file); - if (count && !num_write) - return -1; - fflush(hdd_images[id].file); hdd_images[id].pos = sector + num_write; + fflush(hdd_images[id].file); + if (num_write < count) + return -1; } return 0;