about 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.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/time/gmtime.c b/time/gmtime.c
index f09baef5f2..93fba659be 100644
--- a/time/gmtime.c
+++ b/time/gmtime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1993, 1995 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
@@ -20,14 +20,28 @@ Cambridge, MA 02139, 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 *
 DEFUN(gmtime, (t), CONST time_t *t)
 {
-  struct tm *tp = __offtime (t, 0L);
+  return __gmtime_r (t, &_tmbuf);
+}
+
+/* Return the `struct tm' representation of *T in UTC,
+   using *TP to store the result.  */
+struct tm *
+DEFUN(__gmtime_r, (t, tp),
+      CONST time_t *t AND struct tm *tp)
+{
+  __offtime (t, 0L, tp);
 
+  tp->tm_isdst = 0;
   tp->tm_gmtoff = 0L;
   tp->tm_zone = "GMT";
 
   return tp;
 }
+weak_alias (__gmtime_r, gmtime_r)