--- bsd.c.orig Sat May 1 00:21:53 1993 +++ bsd.c Wed Dec 15 23:08:42 1999 @@ -69,8 +69,16 @@ } /* Function gettz() returns the offset from GMT in seconds */ -long gettz() +long gettz(t) +#if defined(__OpenBSD__) +time_t t; +#else +long t; +#endif { +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) + return -localtime(&t)->tm_gmtoff; +#else #define SEC_IN_DAY (24L * 60L * 60L) #define INV_VALUE (SEC_IN_DAY + 1L) static long retval = INV_VALUE; /* cache, init to impossible value */ @@ -95,6 +103,7 @@ retval = -tm->tm_gmtoff; #endif return retval; +#endif } /* Standard UNIX-compatible time routines */ @@ -103,15 +112,19 @@ /* Standard UNIX-specific file attribute routines */ #include "nixmode.i" +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) +#include +#else #ifndef SEEK_CUR # define SEEK_CUR 1 #endif +#endif /* Truncate a file. */ int zootrunc(f) FILE *f; { - extern long lseek(); - long seekpos; + extern off_t lseek(); + off_t seekpos; int fd = fileno(f); seekpos = lseek(fd, 0L, SEEK_CUR); if (seekpos >= 0)