summary refs log tree commit diff
path: root/time/gmtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'time/gmtime.c')
-rw-r--r--time/gmtime.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/time/gmtime.c b/time/gmtime.c
index f9627e7b62..2b388befb1 100644
--- a/time/gmtime.c
+++ b/time/gmtime.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Convert `time_t' to `struct tm' in UTC.
+   Copyright (C) 1991, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,19 +17,14 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#include <stddef.h>
 #include <time.h>
 
 /* Defined in localtime.c.  */
 extern struct tm _tmbuf;
 
-/* Return the `struct tm' representation of *T in UTC.	*/
-struct tm *
-gmtime (t)
-     const time_t *t;
-{
-  return __gmtime_r (t, &_tmbuf);
-}
+/* Prototype for the internal function to get information based on TZ.  */
+extern struct tm *__tz_convert __P ((const time_t *t, int use_localtime,
+				     struct tm *tp));
 
 
 /* Return the `struct tm' representation of *T in UTC,
@@ -38,12 +34,15 @@ __gmtime_r (t, tp)
      const time_t *t;
      struct tm *tp;
 {
-  __offtime (t, 0L, tp);
+  return __tz_convert (t, 0, tp);
+}
+weak_alias (__gmtime_r, gmtime_r)
 
-  tp->tm_isdst = 0;
-  tp->tm_gmtoff = 0L;
-  tp->tm_zone = "GMT";
 
-  return tp;
+/* Return the `struct tm' representation of *T in UTC.	*/
+struct tm *
+gmtime (t)
+     const time_t *t;
+{
+  return __tz_convert (t, 0, &_tmbuf);
 }
-weak_alias (__gmtime_r, gmtime_r)