diff --git a/cde/configure.ac b/cde/configure.ac index 63258db1b..b2790eca7 100644 --- a/cde/configure.ac +++ b/cde/configure.ac @@ -403,6 +403,9 @@ AC_CHECK_SIZEOF([long]) AC_CHECK_SIZEOF([long long]) AC_CHECK_SIZEOF([time_t]) +AC_CHECK_DECLS([timezone]) +AC_CHECK_MEMBERS([struct tm.tm_gmtoff]) + dnl jpeg AC_CHECK_LIB(jpeg, jpeg_read_header, [JPEGLIB="-ljpeg"], [AC_MSG_ERROR([libjpeg not found, please install it])], diff --git a/cde/programs/dtcm/libDtCmP/getdate.y b/cde/programs/dtcm/libDtCmP/getdate.y index 7b1d00122..101f595db 100644 --- a/cde/programs/dtcm/libDtCmP/getdate.y +++ b/cde/programs/dtcm/libDtCmP/getdate.y @@ -40,6 +40,9 @@ static char sccsid[] = "@(#)getdate.y 1.10 94/11/07 Copyr 1993 Sun Microsystems /* University of North Carolina at Chapel Hill */ /* @(#)getdate.y 2.6 4/20/84 */ +#ifdef HAVE_CONFIG_H +#include +#endif #include #include #include @@ -67,7 +70,7 @@ static char sccsid[] = "@(#)getdate.y 1.10 94/11/07 Copyr 1993 Sun Microsystems #define STANDARD 2 #define MAYBE 3 -#ifdef SVR4 +#if defined(SVR4) && !HAVE_DECL_TIMEZONE extern long timezone; #endif @@ -526,11 +529,11 @@ time_t cm_getdate(char *p, struct timeb *now) lptr = p; if (now == ((struct timeb *) NULL)) { now = &ftz; -#if defined(SVR4) || defined(__OpenBSD__) +#if defined(SVR4) || HAVE_DECL_TIMEZONE || defined(HAVE_TM_TM_GMTOFF) tod = time(0); lt = localtime(&tod); now->time = lt->tm_sec; -#ifdef __OpenBSD__ +#ifdef HAVE_TM_TM_GMTOFF now->timezone = - lt->tm_gmtoff / 60; #else now->timezone = timezone/60; diff --git a/cde/programs/dtcm/libDtCmP/timeops.c b/cde/programs/dtcm/libDtCmP/timeops.c index 7660a2ec3..82dafa5db 100644 --- a/cde/programs/dtcm/libDtCmP/timeops.c +++ b/cde/programs/dtcm/libDtCmP/timeops.c @@ -51,6 +51,9 @@ static char sccsid[] = "@(#)timeops.c 1.13 95/05/02 Copyr 1991 Sun Microsystems, Inc."; #endif +#ifdef HAVE_CONFIG_H +#include +#endif #include #include #include @@ -1007,7 +1010,7 @@ init_time(void) _Xltimeparams localtime_buf; _Xgtimeparams gmtime_buf; -#ifdef SVR4 +#if (defined(SVR4) || HAVE_DECL_TIMEZONE) && !defined(HAVE_TM_TM_GMTOFF) /* Fix for QAR 31607 */ tzset(); if (getenv("TZ") == NULL){ diff --git a/cde/programs/dtcm/server/rtable4.c b/cde/programs/dtcm/server/rtable4.c index b3cd9974d..0d0d42b56 100644 --- a/cde/programs/dtcm/server/rtable4.c +++ b/cde/programs/dtcm/server/rtable4.c @@ -32,6 +32,9 @@ * version 4 of calendar manager rpc protocol functions. */ +#ifdef HAVE_CONFIG_H +#include +#endif #include #include #include @@ -1416,8 +1419,10 @@ extern long * _DtCm_rtable_gmtoff_4_svc(void *args, struct svc_req *svcrq) { static long gmtoff; -#if !defined(CSRG_BASED) +#if !defined(HAVE_STRUCT_TM_TM_GMTOFF) +# if !HAVE_DECL_TIMEZONE extern long timezone; +# endif #else _Xltimeparams localtime_buf; time_t ctime; @@ -1427,7 +1432,7 @@ _DtCm_rtable_gmtoff_4_svc(void *args, struct svc_req *svcrq) if (debug) fprintf(stderr, "_DtCm_rtable_gmtoff_4_svc called\n"); -#if defined(CSRG_BASED) +#if defined(HAVE_STRUCT_TM_TM_GMTOFF) ctime = time(NULL); t = _XLocaltime(&ctime, localtime_buf); gmtoff = - t->tm_gmtoff;