changeset 687:e46401d63db8

revert last change
author Jim Meyering <jim@meyering.net>
date Fri, 06 Sep 1996 03:18:46 +0000
parents 8a8967d6be38
children cc4dbb9f5f58
files lib/strftime.c
diffstat 1 files changed, 15 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/lib/strftime.c
+++ b/lib/strftime.c
@@ -472,37 +472,27 @@
 	case 'z':
 	  {
 	    struct tm tml = *tp;
+	    time_t t = mktime (&tml);
 	    struct tm tmg;
-	    time_t t;
-	    time_t offset = 0;
 	    int diff;
 
-	    t = __mktime_internal (&tml, __localtime_r, &offset);
+	    tml = *localtime (&t);	/* Canonicalize the local time.  */
+	    tmg = *gmtime (&t);
 
-	    /* Canonicalize the local time.  */
-	    if (t == (time_t) -1 || __localtime_r (&t, &tml) == NULL)
-	      /* We didn't managed to get the local time.  Assume it
-		 GMT as a reasonable default value.  */
-	      diff = 0;
-	    else
-	      {
-		__gmtime_r (&t, &tmg);
+	    /* Compute the difference.  */
+	    diff = tml.tm_min - tmg.tm_min;
+	    diff += 60 * (tml.tm_hour - tmg.tm_hour);
 
-		/* Compute the difference.  */
-		diff = tml.tm_min - tmg.tm_min;
-		diff += 60 * (tml.tm_hour - tmg.tm_hour);
-
-		if (tml.tm_mon != tmg.tm_mon)
-		  {
-		    /* We assume no timezone differs from UTC by more
-		       than +- 23 hours.  This should be safe.  */
-		    if (tmg.tm_mday == 1)
-		      tml.tm_mday = 0;
-		    else /* tml.tm_mday == 1 */
-		      tmg.tm_mday = 0;
-		  }
-		diff += 1440 * (tml.tm_mday - tmg.tm_mday);
+	    if (tml.tm_mon != tmg.tm_mon)
+	      {
+		/* We assume no timezone differs from UTC by more than
+		   +- 23 hours.  This should be safe.  */
+		if (tmg.tm_mday == 1)
+		  tml.tm_mday = 0;
+		else /* tml.tm_mday == 1 */
+		  tmg.tm_mday = 0;
 	      }
+	    diff += 1440 * (tml.tm_mday - tmg.tm_mday);
 
 	    if (diff < 0)
 	      {