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 <stefan.reinauer@coreboot.org>
Reviewed-on: http://review.coreboot.org/11636
Tested-by: build bot (Jenkins)
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
diff --git a/util/cbfstool/common.c b/util/cbfstool/common.c
index f8ce2f9..e0474b3 100644
--- a/util/cbfstool/common.c
+++ b/util/cbfstool/common.c
@@ -46,14 +46,14 @@
 
 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);