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