summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--missing/strftime.c16
2 files changed, 19 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a4f46a013a..1807fdf0d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Nov 13 14:39:11 2001 WATANABE Tetsuya <tetsu@jpn.hp.com>
+
+ * missing/strftime.c: HP-UX support.
+
Tue Mar 4 15:08:08 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* configure.in: better HP-UX support.
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;