summaryrefslogtreecommitdiffstats
path: root/misc-utils/look.c
diff options
context:
space:
mode:
authorKarel Zak2006-12-07 00:25:44 +0100
committerKarel Zak2006-12-07 00:25:44 +0100
commit66ee8158b69525e12060ef558cb5d77feadab1dc (patch)
tree08b30f2d07df9213f5647bc6f60b5090a263ef43 /misc-utils/look.c
parentImported from util-linux-2.10m tarball. (diff)
downloadkernel-qcow2-util-linux-66ee8158b69525e12060ef558cb5d77feadab1dc.tar.gz
kernel-qcow2-util-linux-66ee8158b69525e12060ef558cb5d77feadab1dc.tar.xz
kernel-qcow2-util-linux-66ee8158b69525e12060ef558cb5d77feadab1dc.zip
Imported from util-linux-2.10s tarball.
Diffstat (limited to 'misc-utils/look.c')
-rw-r--r--misc-utils/look.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/misc-utils/look.c b/misc-utils/look.c
index a8e826fa4..d601e1c97 100644
--- a/misc-utils/look.c
+++ b/misc-utils/look.c
@@ -137,13 +137,25 @@ main(int argc, char *argv[])
if ((fd = open(file, O_RDONLY, 0)) < 0 || fstat(fd, &sb))
err("%s: %s", file, strerror(errno));
- if ((void *)(front = mmap(NULL,
- (size_t)sb.st_size,
- PROT_READ,
- MAP_FILE|MAP_SHARED,
- fd,
- (off_t)0)) <= (void *)0)
+ front = mmap(NULL, (size_t) sb.st_size, PROT_READ,
+#ifdef MAP_FILE
+ MAP_FILE |
+#endif
+ MAP_SHARED, fd, (off_t) 0);
+ if
+#ifdef MAP_FAILED
+ (front == MAP_FAILED)
+#else
+ ((void *)(front) <= (void *)0)
+#endif
err("%s: %s", file, strerror(errno));
+
+#if 0
+ /* workaround for mmap problem (rmiller@duskglow.com) */
+ if (front == (void *)0)
+ return 1;
+#endif
+
back = front + sb.st_size;
return look(front, back);
}