diff --git a/src/helper/fileio.c b/src/helper/fileio.c index 742bc6892c3c81912e3c2479a8f01e2bc5a23772..b0ad446e179171c1768431d662494cc4a66620bb 100644 --- a/src/helper/fileio.c +++ b/src/helper/fileio.c @@ -295,16 +295,22 @@ int fileio_local_write(fileio_t *fileio, u32 size, u8 *buffer, u32 *size_written int fileio_write(fileio_t *fileio, u32 size, u8 *buffer, u32 *size_written) { + int retval; + switch (fileio->location) { case FILEIO_LOCAL: - return fileio_local_write(fileio, size, buffer, size_written); + retval = fileio_local_write(fileio, size, buffer, size_written); break; default: ERROR("BUG: should never get here"); + exit(-1); } - return ERROR_OK; + if (retval == ERROR_OK) + fileio->size += *size_written; + + return retval;; } int fileio_write_u32(fileio_t *fileio, u32 data)