summaryrefslogtreecommitdiff
path: root/archivers/zoo/patches/patch-ab
blob: c1b6ce527ddb15f82efb2b0a02328b622b6f07ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$NetBSD: patch-ab,v 1.4 1999/11/12 05:17:20 hubertf Exp $

--- ./bsd.c	Sat May  1 06:21:53 1993
+++ /usr/pkgsrc/archivers/zoo/work.i386.unpatched/bsd.c	Fri Nov 12 06:19:38 1999
@@ -69,8 +69,12 @@
 }
 
 /* Function gettz() returns the offset from GMT in seconds */
-long gettz()
+long gettz(t)
+long t;
 {
+#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 +99,7 @@
 	retval = -tm->tm_gmtoff;
 #endif
 	return retval;
+#endif
 }
 
 /* Standard UNIX-compatible time routines */
@@ -103,15 +108,19 @@
 /* Standard UNIX-specific file attribute routines */
 #include "nixmode.i"
 
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+#include <unistd.h>
+#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)