Re: time_t timezone
От | Bruce Momjian |
---|---|
Тема | Re: time_t timezone |
Дата | |
Msg-id | 200409012145.i81LjLO19100@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: time_t timezone (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: time_t timezone
(Reini Urban <rurban@x-ray.at>)
|
Список | pgsql-patches |
Tom Lane wrote: > Reini Urban <rurban@x-ray.at> writes: > > Yes, they are talking about the localtime return value, > > but nevertheless the newlib folks refer to that. Their fault. > > > Should I discuss that with them? > > Probably. They have a gratuitous variation from the Single Unix Spec. > > >> But what may be more to the point is that AFAICS we make no assumption > >> about the exact datatype of the timezone variable. > > > Bruce' patch only assumes time_t on CYGWIN and it is only for pgtypeslib > > (src/interfaces/ecpg/pgtypeslib/dt.h). Not for src/timezone/pgtz.c > > Per my recent post in pghackers, I think that the datatype has nothing > to do with it anyway. The real problem is the loss of this code that > was in pg_config_manual.h in 7.4 and before: > > /* > * Define this if your operating system has _timezone rather than timezone > */ > #if defined(__CYGWIN__) || defined(WIN32) > #define HAVE_INT_TIMEZONE /* has int _timezone */ > #define HAVE_UNDERSCORE_TIMEZONE 1 > #endif > > I'm inclined to just put it back, rather than adding a configure test > that we never needed before. OK, I backed out the int cast I had made for dt.h. I agree time_t should cast to int naturally. I noticed that HAVE_INT_TIMEZONE is already a configure test. Is that test not working on Cygwin? Seems it is working on MinGW. The test is this: # PGAC_VAR_INT_TIMEZONE # --------------------- # Check if the global variable `timezone' exists. If so, define # HAVE_INT_TIMEZONE. AC_DEFUN([PGAC_VAR_INT_TIMEZONE], [AC_CACHE_CHECK(for int timezone, pgac_cv_var_int_timezone, [AC_TRY_LINK([#include <time.h> int res;], [res = timezone / 60;], [pgac_cv_var_int_timezone=yes], [pgac_cv_var_int_timezone=no])]) if test x"$pgac_cv_var_int_timezone" = xyes ; then AC_DEFINE(HAVE_INT_TIMEZONE,, [Define to 1 if you have the global variable 'int timezone'.]) fi])# PGAC_VAR_INT_TIMEZONE You can look in include/pg_config.h to see how it is defined. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-patches по дате отправления: