shuffle caddr_t to its only user, and use (void *) on Linux instead,

to appease Fefe’s dietlibc [-Wdeprecated-declarations]
This commit is contained in:
tg 2011-12-10 14:12:17 +00:00
parent 3b87d173d4
commit 44c408f9ac
2 changed files with 24 additions and 24 deletions

View File

@ -26,15 +26,7 @@
#include <sys/file.h> #include <sys/file.h>
#endif #endif
__RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.112 2011/11/26 18:19:00 tg Exp $"); __RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.113 2011/12/10 14:12:16 tg Exp $");
/*-
* MirOS: This is the default mapping type, and need not be specified.
* IRIX doesn't have this constant.
*/
#ifndef MAP_FILE
#define MAP_FILE 0
#endif
Trap sigtraps[NSIG + 1]; Trap sigtraps[NSIG + 1];
static struct sigaction Sigact_ign; static struct sigaction Sigact_ign;
@ -60,6 +52,23 @@ static int hstarted; /* set after hist_init() called */
static Source *hist_source; static Source *hist_source;
#if HAVE_PERSISTENT_HISTORY #if HAVE_PERSISTENT_HISTORY
/*XXX imake style */
#if defined(__linux)
#define caddr_cast(x) ((void *)(x))
#else
#define caddr_cast(x) ((caddr_t)(x))
#endif
/* several OEs do not have these constants */
#ifndef MAP_FAILED
#define MAP_FAILED caddr_cast(-1)
#endif
/* some OEs need the default mapping type specified */
#ifndef MAP_FILE
#define MAP_FILE 0
#endif
/* current history file: name, fd, size */ /* current history file: name, fd, size */
static char *hname; static char *hname;
static int histfd; static int histfd;
@ -741,7 +750,7 @@ hist_init(Source *s)
if (base == (unsigned char *)MAP_FAILED || if (base == (unsigned char *)MAP_FAILED ||
*base != HMAGIC1 || base[1] != HMAGIC2) { *base != HMAGIC1 || base[1] != HMAGIC2) {
if (base != (unsigned char *)MAP_FAILED) if (base != (unsigned char *)MAP_FAILED)
munmap((caddr_t)base, hsize); munmap(caddr_cast(base), hsize);
hist_finish(); hist_finish();
if (unlink(hname) /* fails */) if (unlink(hname) /* fails */)
goto hiniterr; goto hiniterr;
@ -753,7 +762,7 @@ hist_init(Source *s)
/* we need to make the file smaller */ /* we need to make the file smaller */
if (hist_shrink(base, hsize)) if (hist_shrink(base, hsize))
rv = unlink(hname); rv = unlink(hname);
munmap((caddr_t)base, hsize); munmap(caddr_cast(base), hsize);
hist_finish(); hist_finish();
if (rv) { if (rv) {
hiniterr: hiniterr:
@ -767,7 +776,7 @@ hist_init(Source *s)
} }
} }
histload(hist_source, base+2, hsize-2); histload(hist_source, base+2, hsize-2);
munmap((caddr_t)base, hsize); munmap(caddr_cast(base), hsize);
} }
(void)flock(histfd, LOCK_UN); (void)flock(histfd, LOCK_UN);
hfsize = lseek(histfd, (off_t)0, SEEK_END); hfsize = lseek(histfd, (off_t)0, SEEK_END);
@ -991,14 +1000,14 @@ writehistfile(int lno, char *cmd)
goto bad; goto bad;
news = base + hsize; news = base + hsize;
if (*news != COMMAND) { if (*news != COMMAND) {
munmap((caddr_t)base, (size_t)sizenow); munmap(caddr_cast(base), (size_t)sizenow);
goto bad; goto bad;
} }
hist_source->line--; hist_source->line--;
histload(hist_source, news, bytes); histload(hist_source, news, bytes);
hist_source->line++; hist_source->line++;
lno = hist_source->line; lno = hist_source->line;
munmap((caddr_t)base, (size_t)sizenow); munmap(caddr_cast(base), (size_t)sizenow);
hsize = (size_t)sizenow; hsize = (size_t)sizenow;
} else { } else {
/* it has shrunk */ /* it has shrunk */

11
sh.h
View File

@ -151,7 +151,7 @@
#endif #endif
#ifdef EXTERN #ifdef EXTERN
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.510 2011/12/10 13:34:18 tg Exp $"); __RCSID("$MirOS: src/bin/mksh/sh.h,v 1.511 2011/12/10 14:12:17 tg Exp $");
#endif #endif
#define MKSH_VERSION "R40 2011/12/10" #define MKSH_VERSION "R40 2011/12/10"
@ -283,15 +283,6 @@ typedef u_int8_t uint8_t;
#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) #define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
#endif #endif
#if !defined(MAP_FAILED)
/* XXX imake style */
# if defined(__linux)
#define MAP_FAILED ((void *)-1)
# elif defined(__bsdi__) || defined(__osf__) || defined(__ultrix)
#define MAP_FAILED ((caddr_t)-1)
# endif
#endif
#ifndef NSIG #ifndef NSIG
#if defined(_NSIG) #if defined(_NSIG)
#define NSIG _NSIG #define NSIG _NSIG