[U-Boot] [PATCH] tools/mkimage: use lseek rather than fstat for file size for -l option

Peter Korsgaard jacmet at sunsite.dk
Mon Dec 1 17:23:17 CET 2008


Use lseek rather than fstat for file size for list mode, so
mkimage -l /dev/mtdblockN works (stat returns st_size == 0 for devices).

Notice that you have to use /dev/mtdblockN and not /dev/mtdN, as the
latter doesn't support mmap.

Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
---
 tools/mkimage.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/mkimage.c b/tools/mkimage.c
index 58fd20f..ca8254f 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -205,7 +205,8 @@ NXTARG:		;
 		/*
 		 * list header information of existing image
 		 */
-		if (fstat(ifd, &sbuf) < 0) {
+		sbuf.st_size = lseek(ifd, 0, SEEK_END);
+		if (sbuf.st_size == (off_t)-1) {
 			fprintf (stderr, "%s: Can't stat %s: %s\n",
 				cmdname, imagefile, strerror(errno));
 			exit (EXIT_FAILURE);
-- 
1.5.6.5



More information about the U-Boot mailing list