From 362518c3accc257d1788b130aa3dbcf837a99565 Mon Sep 17 00:00:00 2001 From: cohrs Date: Sun, 6 Jul 2003 22:06:46 +0000 Subject: [PATCH] BSD and POSIX Finally got around to installing OpenBSD (rev 3.3) in a vmware partition. Found that several #if BSD's were inappropriate for modern BSD's. Haven't installed FreeBSD or NetBSD, but based on reading their man pages, these changes are needed there too. Mostly due to POSIX time() signature. --- include/system.h | 2 +- include/unixconf.h | 8 ++++++-- src/files.c | 2 ++ src/hacklib.c | 8 ++++---- src/u_init.c | 2 +- sys/unix/unixunix.c | 2 +- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/include/system.h b/include/system.h index fc3964a46..a4efff983 100644 --- a/include/system.h +++ b/include/system.h @@ -521,7 +521,7 @@ E struct tm *FDECL(localtime, (const time_t *)); # endif # endif -# if defined(ULTRIX) || defined(SYSV) || defined(MICRO) || defined(VMS) || defined(MAC) || (defined(HPUX) && defined(_POSIX_SOURCE)) +# if defined(ULTRIX) || (defined(BSD) && defined(POSIX_TYPES)) || defined(SYSV) || defined(MICRO) || defined(VMS) || defined(MAC) || (defined(HPUX) && defined(_POSIX_SOURCE)) E time_t FDECL(time, (time_t *)); # else E long FDECL(time, (time_t *)); diff --git a/include/unixconf.h b/include/unixconf.h index 19ebd7f44..fe1b00661 100644 --- a/include/unixconf.h +++ b/include/unixconf.h @@ -19,7 +19,7 @@ */ /* define exactly one of the following four choices */ -/* #define BSD 1 */ /* define for 4.n BSD */ +/* #define BSD 1 */ /* define for 4.n/Free/Open/Net BSD */ /* also for relatives like SunOS 4.x, DG/UX, and */ /* older versions of Linux */ /* #define ULTRIX */ /* define for Ultrix v3.0 or higher (but not lower) */ @@ -171,11 +171,15 @@ # ifdef AMS #define AMS_MAILBOX "/Mailbox" # else +# if defined(__FreeBSD__) || defined(__OpenBSD__) +#define DEF_MAILREADER "/usr/bin/mail" +# else #define DEF_MAILREADER "/usr/ucb/Mail" +# endif # endif #else # if (defined(SYSV) || defined(DGUX) || defined(HPUX)) && !defined(LINUX) -# if defined(M_XENIX) || defined(__FreeBSD__) +# if defined(M_XENIX) #define DEF_MAILREADER "/usr/bin/mail" # else # ifdef __sgi diff --git a/src/files.c b/src/files.c index 941b32367..cd1089cf6 100644 --- a/src/files.c +++ b/src/files.c @@ -930,6 +930,7 @@ restore_saved_game() return fd; } +#if defined(UNIX) && defined(QT_GRAPHICS) /*ARGSUSED*/ static char* plname_from_file(filename) @@ -982,6 +983,7 @@ const char* filename; } #endif } +#endif /* defined(UNIX) && defined(QT_GRAPHICS) */ char** get_saved_games() diff --git a/src/hacklib.c b/src/hacklib.c index c34e7509b..0d082705a 100644 --- a/src/hacklib.c +++ b/src/hacklib.c @@ -467,7 +467,7 @@ setrandom() srandom((unsigned int) time((time_t *)0)); #else # if defined(__APPLE__) || defined(BSD) || defined(LINUX) || defined(ULTRIX) || defined(CYGWIN32) /* system srandom() */ -# ifdef BSD +# if defined(BSD) && !defined(POSIX_TYPES) # if defined(SUNOS4) (void) # endif @@ -490,12 +490,12 @@ getlt() { time_t date; -#ifdef BSD +#if defined(BSD) && !defined(POSIX_TYPES) (void) time((long *)(&date)); #else (void) time(&date); #endif -#if (defined(ULTRIX) && !(defined(ULTRIX_PROTO) || defined(NHSTDC))) || defined(BSD) +#if (defined(ULTRIX) && !(defined(ULTRIX_PROTO) || defined(NHSTDC))) || (defined(BSD) && !defined(POSIX_TYPES)) return(localtime((long *)(&date))); #else return(localtime(&date)); @@ -542,7 +542,7 @@ time_t date; if (date == 0) lt = getlt(); else -#if (defined(ULTRIX) && !(defined(ULTRIX_PROTO) || defined(NHSTDC))) || defined(BSD) +#if (defined(ULTRIX) && !(defined(ULTRIX_PROTO) || defined(NHSTDC))) || (defined(BSD) && !defined(POSIX_TYPES)) lt = localtime((long *)(&date)); #else lt = localtime(&date); diff --git a/src/u_init.c b/src/u_init.c index 2a371916a..114893c50 100644 --- a/src/u_init.c +++ b/src/u_init.c @@ -583,7 +583,7 @@ u_init() aligns[flags.initalign].value; u.ulycn = NON_PM; -#ifdef BSD +#if defined(BSD) && !defined(POSIX_TYPES) (void) time((long *)&u.ubirthday); #else (void) time(&u.ubirthday); diff --git a/sys/unix/unixunix.c b/sys/unix/unixunix.c index df8caec83..ed17c91c1 100644 --- a/sys/unix/unixunix.c +++ b/sys/unix/unixunix.c @@ -35,7 +35,7 @@ int fd; #ifndef INSURANCE if(buf.st_size != sizeof(int)) return(0); /* not an xlock file */ #endif -#ifdef BSD +#if defined(BSD) && !defined(POSIX_TYPES) (void) time((long *)(&date)); #else (void) time(&date); -- 2.40.0