From fa956fde60b7ec4dd66bd62f9910fd341b5049a1 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 1 May 2008 04:13:05 -0400 Subject: mkimage: make mmap() checks consistent The mmap() related code is full of inconsistent casts/constants when it comes to error checking, and may break when building on some systems (like ones that do not implicitly define the caddr_t type). Let's just avoid the whole mess by writing the code nice and clean in the first place. Signed-off-by: Mike Frysinger --- tools/mkimage.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'tools') diff --git a/tools/mkimage.c b/tools/mkimage.c index ea7a826f8c..967fe9a776 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -28,7 +28,7 @@ extern int errno; #ifndef MAP_FAILED -#define MAP_FAILED (-1) +#define MAP_FAILED (void *)(-1) #endif extern unsigned long crc32 (unsigned long crc, const char *buf, unsigned int len); @@ -218,9 +218,8 @@ NXTARG: ; exit (EXIT_FAILURE); } - ptr = (unsigned char *)mmap(0, sbuf.st_size, - PROT_READ, MAP_SHARED, ifd, 0); - if ((caddr_t)ptr == (caddr_t)-1) { + ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, ifd, 0); + if (ptr == MAP_FAILED) { fprintf (stderr, "%s: Can't read %s: %s\n", cmdname, imagefile, strerror(errno)); exit (EXIT_FAILURE); @@ -330,9 +329,8 @@ NXTARG: ; exit (EXIT_FAILURE); } - ptr = (unsigned char *)mmap(0, sbuf.st_size, - PROT_READ|PROT_WRITE, MAP_SHARED, ifd, 0); - if (ptr == (unsigned char *)MAP_FAILED) { + ptr = mmap(0, sbuf.st_size, PROT_READ|PROT_WRITE, MAP_SHARED, ifd, 0); + if (ptr == MAP_FAILED) { fprintf (stderr, "%s: Can't map %s: %s\n", cmdname, imagefile, strerror(errno)); exit (EXIT_FAILURE); @@ -410,9 +408,8 @@ copy_file (int ifd, const char *datafile, int pad) exit (EXIT_FAILURE); } - ptr = (unsigned char *)mmap(0, sbuf.st_size, - PROT_READ, MAP_SHARED, dfd, 0); - if (ptr == (unsigned char *)MAP_FAILED) { + ptr = mmap(0, sbuf.st_size, PROT_READ, MAP_SHARED, dfd, 0); + if (ptr == MAP_FAILED) { fprintf (stderr, "%s: Can't read %s: %s\n", cmdname, datafile, strerror(errno)); exit (EXIT_FAILURE); @@ -594,9 +591,8 @@ static void fit_handle_file (void) exit (EXIT_FAILURE); } - ptr = (unsigned char *)mmap (0, sbuf.st_size, - PROT_READ|PROT_WRITE, MAP_SHARED, tfd, 0); - if ((caddr_t)ptr == (caddr_t)-1) { + ptr = mmap (0, sbuf.st_size, PROT_READ|PROT_WRITE, MAP_SHARED, tfd, 0); + if (ptr == MAP_FAILED) { fprintf (stderr, "%s: Can't read %s: %s\n", cmdname, tmpfile, strerror(errno)); unlink (tmpfile); -- cgit v1.2.1