timezone() is actually a function on BSD.
>From a6cbfea115d4a669e5235e06bf03f567affddb73 Mon Sep 17 00:00:00 2001
From: Pascal Stumpf <pascal.stu...@cubes.de>
Date: Fri, 10 Aug 2012 14:44:57 +0200
Subject: [PATCH] OpenBSD fixes for dtcm. There are no global "timezone" and
"tzname" symbols on BSD. Apart from that, mainly #ifdefs.
---
cde/programs/dtcm/dtcm/graphics.c | 2 ++
cde/programs/dtcm/libDtCmP/getdate.y | 2 ++
cde/programs/dtcm/libDtCmP/timeops.c | 2 ++
cde/programs/dtcm/server/delete.c | 2 ++
cde/programs/dtcm/server/insert.c | 2 ++
cde/programs/dtcm/server/lookup.c | 2 ++
cde/programs/dtcm/server/rtable4.c | 13 +++++++++++++
cde/programs/dtcm/server/svcmain.c | 3 ++-
cde/programs/dtcm/server/update.c | 2 ++
cde/programs/dtcm/server/v4ops.c | 5 +++++
10 files changed, 34 insertions(+), 1 deletions(-)
diff --git a/cde/programs/dtcm/dtcm/graphics.c
b/cde/programs/dtcm/dtcm/graphics.c
index cc692ef..c8b4103 100644
--- a/cde/programs/dtcm/dtcm/graphics.c
+++ b/cde/programs/dtcm/dtcm/graphics.c
@@ -54,7 +54,9 @@ static char sccsid[] = "@(#)graphics.c 1.23 94/11/29 Copyr
1994 Sun Microsystem
#include <EUSCompat.h>
#include <stdio.h>
#include <sys/stat.h>
+#if !defined(CSRG_BASED)
#include <sys/sysmacros.h>
+#endif
#include <sys/param.h> /* MAXPATHLEN defined here */
#ifdef SVR4
#include <sys/utsname.h> /* SYS_NMLN */
diff --git a/cde/programs/dtcm/libDtCmP/getdate.y
b/cde/programs/dtcm/libDtCmP/getdate.y
index 35a1aa3..e323822 100644
--- a/cde/programs/dtcm/libDtCmP/getdate.y
+++ b/cde/programs/dtcm/libDtCmP/getdate.y
@@ -65,7 +65,9 @@ static char sccsid[] = "@(#)getdate.y 1.10 94/11/07 Copyr
1993 Sun Microsystems
#define STANDARD 2
#define MAYBE 3
+#ifdef SVR4
extern long timezone;
+#endif
%}
diff --git a/cde/programs/dtcm/libDtCmP/timeops.c
b/cde/programs/dtcm/libDtCmP/timeops.c
index f0cdbbd..dcb722b 100644
--- a/cde/programs/dtcm/libDtCmP/timeops.c
+++ b/cde/programs/dtcm/libDtCmP/timeops.c
@@ -1008,6 +1008,7 @@ init_time()
_Xltimeparams localtime_buf;
_Xgtimeparams gmtime_buf;
+#ifdef SVR4
/* Fix for QAR 31607 */
tzset();
if (getenv("TZ") == NULL){
@@ -1017,6 +1018,7 @@ init_time()
putenv(tzptr);
tzset();
}
+#endif
t = now();
tm = *_XLocaltime(&t, localtime_buf);
diff --git a/cde/programs/dtcm/server/delete.c
b/cde/programs/dtcm/server/delete.c
index 879d7ea..46479d9 100644
--- a/cde/programs/dtcm/server/delete.c
+++ b/cde/programs/dtcm/server/delete.c
@@ -38,7 +38,9 @@
#include <string.h>
#include <pwd.h>
#include <time.h>
+#if !defined(CSRG_BASED)
#include <values.h>
+#endif
#ifdef SunOS
#include <sys/systeminfo.h>
#endif
diff --git a/cde/programs/dtcm/server/insert.c
b/cde/programs/dtcm/server/insert.c
index 7c0852f..3559108 100644
--- a/cde/programs/dtcm/server/insert.c
+++ b/cde/programs/dtcm/server/insert.c
@@ -38,7 +38,9 @@
#include <string.h>
#include <pwd.h>
#include <time.h>
+#if !defined(CSRG_BASED)
#include <values.h>
+#endif
#ifdef SunOS
#include <sys/systeminfo.h>
#endif
diff --git a/cde/programs/dtcm/server/lookup.c
b/cde/programs/dtcm/server/lookup.c
index 5a5ac6a..883aba6 100644
--- a/cde/programs/dtcm/server/lookup.c
+++ b/cde/programs/dtcm/server/lookup.c
@@ -38,7 +38,9 @@
#include <string.h>
#include <pwd.h>
#include <time.h>
+#if !defined(CSRG_BASED)
#include <values.h>
+#endif
#ifdef SunOS
#include <sys/systeminfo.h>
#endif
diff --git a/cde/programs/dtcm/server/rtable4.c
b/cde/programs/dtcm/server/rtable4.c
index fb6aab0..061b63d 100644
--- a/cde/programs/dtcm/server/rtable4.c
+++ b/cde/programs/dtcm/server/rtable4.c
@@ -45,7 +45,11 @@
#include <sys/time.h>
#include <sys/signal.h>
#include <rpc/rpc.h>
+#if defined(CSRG_BASED)
+#define MAXINT INT_MAX
+#else
#include <values.h>
+#endif
#include <string.h>
#include <pwd.h>
#ifdef SUNOS
@@ -1406,12 +1410,21 @@ extern long *
_DtCm_rtable_gmtoff_4_svc(void *args, struct svc_req *svcrq)
{
static long gmtoff;
+#if !defined(CSRG_BASED)
extern long timezone;
+#else
+ struct tm *t;
+#endif
if (debug)
fprintf(stderr, "_DtCm_rtable_gmtoff_4_svc called\n");
+#if defined(CSRG_BASED)
+ t = localtime(time(NULL));
+ gmtoff = t->tm_gmtoff;
+#else
gmtoff = timezone;
+#endif
return(&gmtoff);
}
diff --git a/cde/programs/dtcm/server/svcmain.c
b/cde/programs/dtcm/server/svcmain.c
index 62230ad..d329f68 100644
--- a/cde/programs/dtcm/server/svcmain.c
+++ b/cde/programs/dtcm/server/svcmain.c
@@ -702,7 +702,8 @@ main(int argc, char **argv)
if (udp_transp == (SVCXPRT *)-1) {
udp_transp = svcudp_create(standalone ? RPC_ANYSOCK : 0
-#if defined(_AIX) || defined(hpV4) || defined(__osf__) || defined(linux)
+#if defined(_AIX) || defined(hpV4) || defined(__osf__) || defined(linux) || \
+ defined(CSRG_BASED)
);
#else
,0,0);
diff --git a/cde/programs/dtcm/server/update.c
b/cde/programs/dtcm/server/update.c
index 5861b92..ed20fca 100644
--- a/cde/programs/dtcm/server/update.c
+++ b/cde/programs/dtcm/server/update.c
@@ -38,7 +38,9 @@
#include <string.h>
#include <pwd.h>
#include <time.h>
+#if !defined(CSRG_BASED)
#include <values.h>
+#endif
#ifdef SunOS
#include <sys/systeminfo.h>
#endif
diff --git a/cde/programs/dtcm/server/v4ops.c b/cde/programs/dtcm/server/v4ops.c
index af97c4b..d4eceba 100644
--- a/cde/programs/dtcm/server/v4ops.c
+++ b/cde/programs/dtcm/server/v4ops.c
@@ -36,7 +36,12 @@
#include <string.h>
#include <pwd.h>
#include <time.h>
+#if defined(CSRG_BASED)
+#include <sys/limits.h>
+#define MAXINT INT_MAX
+#else
#include <values.h>
+#endif
#ifdef SunOS
#include <sys/systeminfo.h>
#endif
--
1.7.6
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel