summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-05-01 04:13:05 -0400
committerWolfgang Denk <wd@denx.de>2008-05-03 23:33:43 +0200
commitfa956fde60b7ec4dd66bd62f9910fd341b5049a1 (patch)
treecbd40a8c1d8fa8dd3c431c26e9ab4e0b9b840f2c
parent8e90cd0447a0f0ccf529ef86f0e6b56187d3b82a (diff)
downloadu-boot-imx-fa956fde60b7ec4dd66bd62f9910fd341b5049a1.zip
u-boot-imx-fa956fde60b7ec4dd66bd62f9910fd341b5049a1.tar.gz
u-boot-imx-fa956fde60b7ec4dd66bd62f9910fd341b5049a1.tar.bz2
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 <vapier@gentoo.org>
-rw-r--r--tools/mkimage.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/tools/mkimage.c b/tools/mkimage.c
index ea7a826..967fe9a 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);