Skip to content

Commit

Permalink
Declare timezone only, if the system fails to do so.
Browse files Browse the repository at this point in the history
  • Loading branch information
Sascha Schumann committed Jan 1, 2000
1 parent 3dce602 commit 2fd8cbf
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 9 deletions.
2 changes: 0 additions & 2 deletions acconfig.h.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
/* This is the default configuration file to read -*- C -*- */

#undef socklen_t

/* these are defined by automake */
#undef PACKAGE
#undef VERSION
Expand Down
19 changes: 19 additions & 0 deletions acinclude.m4
Original file line number Diff line number Diff line change
Expand Up @@ -484,3 +484,22 @@ AC_DEFUN(PHP_OUTPUT,[
PHP_OUTPUT_FILES="$PHP_OUTPUT_FILES $1"
])

AC_DEFUN(PHP_DECLARED_TIMEZONE,[
AC_CACHE_CHECK(for declared timezone, ac_cv_declared_timezone,[
AC_TRY_COMPILE([
#include <sys/types.h>
#include <time.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
],[
time_t foo = (time_t) timezone;
],[
ac_cv_declared_timezone=yes
],[
ac_cv_declared_timezone=no
])])
if test "$ac_cv_declared_timezone" = "yes"; then
AC_DEFINE(HAVE_DECLARED_TIMEZONE, 1, [Whether system headers declare timezone])
fi
])
1 change: 1 addition & 0 deletions configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,7 @@ AC_REPLACE_FUNCS(strlcat strlcpy getopt)
AC_FUNC_UTIME_NULL
AC_FUNC_ALLOCA
AC_BROKEN_SPRINTF
PHP_DECLARED_TIMEZONE

dnl AIX keeps in_addr_t in /usr/include/netinet/in.h
dnl AC_MSG_CHECKING(for in_addr_t)
Expand Down
2 changes: 1 addition & 1 deletion ext/standard/datetime.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ char *day_short_names[] =
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};

#if !defined(HAVE_TM_ZONE) && !defined(_TIMEZONE) && !(WIN32||WINNT)
#if !defined(HAVE_TM_ZONE) && !defined(_TIMEZONE) && !defined(HAVE_DECLARED_TIMEZONE)
extern time_t timezone;
#endif

Expand Down
7 changes: 1 addition & 6 deletions ext/standard/parsedate.y
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,10 @@
#include <alloca.h>
#endif

#if WIN32||WINNT
# include <time.h>
#else
# if !defined(HAVE_TM_ZONE) && !defined(_TIMEZONE)
#if !defined(HAVE_TM_ZONE) && !defined(_TIMEZONE) && !defined(HAVE_DECLARED_TIMEZONE)
extern time_t timezone;
# endif
#endif


#define yylhs date_yylhs
#define yylen date_yylen
#define yydefred date_yydefred
Expand Down
1 change: 1 addition & 0 deletions main/win95nt.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* Defines and types for Windows 95/NT */
#define HAVE_DECLARED_TIMEZONE
#define WIN32_LEAN_AND_MEAN
#include <io.h>
#include <malloc.h>
Expand Down

0 comments on commit 2fd8cbf

Please sign in to comment.