commit fd7cf5e221f73987a7ab6d9278cbbd13aabc84c3
parent 054361cb7001913ace08b3186f56aca4ee169ed1
Author: Sigrid Solveig Haflínudóttir <ftrvxmtrx@gmail.com>
Date: Sun, 7 Nov 2021 20:20:32 +0100
file: write: return error if fflush failed
Diffstat:
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/devices/file.c b/src/devices/file.c
@@ -109,17 +109,17 @@ file_read(void *dest, Uint16 len)
Uint16
file_write(void *src, Uint16 len, Uint8 flags)
{
+ Uint16 ret = 0;
if(state != FILE_WRITE) {
reset();
if((f = fopen(current_filename, (flags & 0x01) ? "ab" : "wb")) != NULL)
state = FILE_WRITE;
}
if(state == FILE_WRITE) {
- Uint16 ret = fwrite(src, 1, len, f);
- fflush(f);
- return ret;
+ if((ret = fwrite(src, 1, len, f)) > 0 && fflush(f) != 0)
+ ret = 0;
}
- return 0;
+ return ret;
}
Uint16