From 1bb487c474c378cf61bd28f83b9eb87162ffc1c4 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Mon, 14 Sep 2015 10:46:44 -0700 Subject: cbfstool: Don't use fileno() to get file size fileno() is a mess on some operating systems. Don't deliberately convert between FILE * and file handles. Change-Id: I5be62a731f928333ea2e5843d81f541453fdb396 Signed-off-by: Stefan Reinauer Reviewed-on: http://review.coreboot.org/11636 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc --- util/cbfstool/common.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'util') diff --git a/util/cbfstool/common.c b/util/cbfstool/common.c index f8ce2f9e12..e0474b3435 100644 --- a/util/cbfstool/common.c +++ b/util/cbfstool/common.c @@ -46,14 +46,14 @@ int is_big_endian(void) static off_t get_file_size(FILE *f) { - struct stat s; - int fd = fileno(f); - if (fd == -1) return -1; - if (fstat(fd, &s) == -1) return -1; - return s.st_size; + off_t fsize; + fseek(f, 0, SEEK_END); + fsize = ftell(f); + fseek(f, 0, SEEK_SET); + return fsize; } -/* Buffer and file I/O */ +/* Buffer and file I/O */ int buffer_create(struct buffer *buffer, size_t size, const char *name) { buffer->name = strdup(name); -- cgit v1.2.3