diff options
author | eban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-03-04 09:16:17 +0000 |
---|---|---|
committer | eban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-03-04 09:16:17 +0000 |
commit | f9833b7d5f4cc54193049043e04bf4fcf27b13e6 (patch) | |
tree | 4ce71f73eae0e08acd2abd9970ef15512dd5c2b4 /missing | |
parent | d37e836a58ac1ac680ee8716ab1f0b4fc00a1f89 (diff) | |
download | ruby-f9833b7d5f4cc54193049043e04bf4fcf27b13e6.tar.gz |
* missing/strftime.c: HP-UX support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'missing')
-rw-r--r-- | missing/strftime.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/missing/strftime.c b/missing/strftime.c index 02fdc5ade4..5522226ec1 100644 --- a/missing/strftime.c +++ b/missing/strftime.c @@ -118,12 +118,16 @@ extern char *strchr(); #if !defined(OS2) && !defined(MSDOS) && defined(HAVE_TZNAME) extern char *tzname[2]; extern int daylight; -#if defined SOLARIS || defined __hpux +#ifdef SOLARIS extern long timezone, altzone; #else +#ifdef __hpux +extern long timezone; +#else extern int timezone, altzone; #endif #endif +#endif #undef min /* just in case */ @@ -189,6 +193,11 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr) extern char *timezone(); struct timeval tv; struct timezone zone; +#else +#ifdef __hpux + struct timeval tv; + struct timezone zone; +#endif #endif /* HAVE_TZNAME */ #endif /* HAVE_TM_NAME */ #endif /* HAVE_TM_ZONE */ @@ -418,7 +427,12 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr) * Systems with tzname[] probably have timezone as * secs west of GMT. Convert to mins east of GMT. */ +#ifdef __hpux + gettimeofday(&tv, &zone); + off = -zone.tz_minuteswest; +#else off = -(daylight ? timezone : altzone) / 60; +#endif #else /* !HAVE_TZNAME */ gettimeofday(&tv, &zone); off = -zone.tz_minuteswest; |