From 3931b99d142d337ea6558fd09aad2e0812c04507 Mon Sep 17 00:00:00 2001 From: Øyvind Harboe Date: Wed, 29 Sep 2010 09:11:01 +0200 Subject: fileio: fileio_size() can now fail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of making the fileio API more robust. Signed-off-by: Øyvind Harboe --- src/helper/fileio.c | 14 ++++++++++++-- src/helper/fileio.h | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'src/helper') diff --git a/src/helper/fileio.c b/src/helper/fileio.c index 7c862e47..9ae01344 100644 --- a/src/helper/fileio.c +++ b/src/helper/fileio.c @@ -245,8 +245,18 @@ int fileio_write_u32(struct fileio *fileio_p, uint32_t data) return retval; } -int fileio_size(struct fileio *fileio_p) +/** + * FIX!!!! + * + * For now this can not fail, but that's because a seek was executed + * on startup. + * + * Avoiding the seek on startup opens up for using streams. + * + */ +int fileio_size(struct fileio *fileio_p, int *size) { struct fileio_internal *fileio = fileio_p->fp; - return fileio->size; + *size = fileio->size; + return ERROR_OK; } diff --git a/src/helper/fileio.h b/src/helper/fileio.h index 40c4ef0e..fa499ab7 100644 --- a/src/helper/fileio.h +++ b/src/helper/fileio.h @@ -66,7 +66,7 @@ int fileio_write(struct fileio *fileio, int fileio_read_u32(struct fileio *fileio, uint32_t *data); int fileio_write_u32(struct fileio *fileio, uint32_t data); -int fileio_size(struct fileio *fileio); +int fileio_size(struct fileio *fileio, int *size); #define ERROR_FILEIO_LOCATION_UNKNOWN (-1200) #define ERROR_FILEIO_NOT_FOUND (-1201) -- cgit v1.2.3