Module Name: src
Committed By: christos
Date: Sun Mar 18 14:34:28 UTC 2012
Modified Files:
src/lib/libc/gen: nlist_ecoff.c
Log Message:
fix lint.
To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/lib/libc/gen/nlist_ecoff.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/gen/nlist_ecoff.c
diff -u src/lib/libc/gen/nlist_ecoff.c:1.18 src/lib/libc/gen/nlist_ecoff.c:1.19
--- src/lib/libc/gen/nlist_ecoff.c:1.18 Fri Aug 21 04:42:02 2009
+++ src/lib/libc/gen/nlist_ecoff.c Sun Mar 18 10:34:28 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: nlist_ecoff.c,v 1.18 2009/08/21 08:42:02 he Exp $ */
+/* $NetBSD: nlist_ecoff.c,v 1.19 2012/03/18 14:34:28 christos Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou
@@ -36,7 +36,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: nlist_ecoff.c,v 1.18 2009/08/21 08:42:02 he Exp $");
+__RCSID("$NetBSD: nlist_ecoff.c,v 1.19 2012/03/18 14:34:28 christos Exp $");
#endif /* LIBC_SCCS and not lint */
#include "namespace.h"
@@ -59,8 +59,6 @@ __RCSID("$NetBSD: nlist_ecoff.c,v 1.18 2
#ifdef NLIST_ECOFF
#define check(off, size) ((off < 0) || (off + size > mappedsize))
-#define BAD do { rv = -1; goto out; } while (/*CONSTCOND*/0)
-#define BADUNMAP do { rv = -1; goto unmap; } while (/*CONSTCOND*/0)
int
__fdnlist_ecoff(fd, list)
@@ -72,7 +70,7 @@ __fdnlist_ecoff(fd, list)
struct ecoff_symhdr *symhdrp;
struct ecoff_extsym *esyms;
struct stat st;
- char *mappedfile;
+ void *mappedfile;
size_t mappedsize;
u_long symhdroff, extstroff;
u_int symhdrsize;
@@ -88,20 +86,20 @@ __fdnlist_ecoff(fd, list)
* If we can't fstat() the file, something bad is going on.
*/
if (fstat(fd, &st) < 0)
- BAD;
+ goto out;
/*
* Map the file in its entirety.
*/
if ((uintmax_t)st.st_size > (uintmax_t)SIZE_T_MAX) {
errno = EFBIG;
- BAD;
+ goto out;
}
- mappedsize = st.st_size;
+ mappedsize = (size_t)st.st_size;
mappedfile = mmap(NULL, mappedsize, PROT_READ, MAP_PRIVATE|MAP_FILE,
fd, 0);
- if (mappedfile == (char *)-1)
- BAD;
+ if (mappedfile == MAP_FAILED)
+ goto out;
/*
* Make sure we can access the executable's header
@@ -109,11 +107,11 @@ __fdnlist_ecoff(fd, list)
* as an ECOFF binary.
*/
if (check(0, sizeof *exechdrp))
- BADUNMAP;
- exechdrp = (struct ecoff_exechdr *)&mappedfile[0];
+ goto unmap;
+ exechdrp = mappedfile;
if (ECOFF_BADMAG(exechdrp))
- BADUNMAP;
+ goto unmap;
/*
* Find the symbol list.
@@ -123,13 +121,13 @@ __fdnlist_ecoff(fd, list)
if ((symhdroff + sizeof *symhdrp) > mappedsize ||
sizeof *symhdrp != symhdrsize)
- BADUNMAP;
- symhdrp = (struct ecoff_symhdr *)&mappedfile[symhdroff];
+ goto unmap;
+ symhdrp = (void *)((char *)mappedfile + symhdroff);
nesyms = symhdrp->esymMax;
if (check(symhdrp->cbExtOffset, nesyms * sizeof *esyms))
- BADUNMAP;
- esyms = (struct ecoff_extsym *)&mappedfile[symhdrp->cbExtOffset];
+ goto unmap;
+ esyms = (void *)((char *)mappedfile + symhdrp->cbExtOffset);
extstroff = symhdrp->cbSsExtOffset;
/*
@@ -183,7 +181,7 @@ done:
unmap:
munmap(mappedfile, mappedsize);
out:
- return (rv);
+ return rv;
}
#endif /* NLIST_ECOFF */