fileio: fileio_size() can now fail
Part of making the fileio API more robust. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user