about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAkinori Hattori <hattya@gentoo.org>2009-06-15 10:54:26 -0700
committerUlrich Drepper <drepper@redhat.com>2009-06-15 10:54:26 -0700
commit29143408ae6d474a115768e809691635f507b1fd (patch)
treeb6a28096c3cb549045ac4ab21c7a9b19195cdaeb
parentc9bb32415460f5bcf4accacadf9060d504fddd69 (diff)
downloadglibc-29143408ae6d474a115768e809691635f507b1fd.tar.gz
glibc-29143408ae6d474a115768e809691635f507b1fd.tar.xz
glibc-29143408ae6d474a115768e809691635f507b1fd.zip
Handle leap seconds even if no DST rule exists.
This fixes BZ #10211.
-rw-r--r--ChangeLog5
-rw-r--r--time/tzfile.c7
2 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index dcd7444dd5..d758a8394f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2009-06-15  Ulrich Drepper  <drepper@redhat.com>
 
+	[BZ #10211]
+	* time/tzfile.c (__tzfile_compute): If we use the envvar format still
+	handle leap seconds if they are available.
+	Patch by Akinori Hattori <hattya@gentoo.org>.
+
 	* timezone/tzselect.ksh: Update from tzcode2009i.
 	* timezone/zdump.c: Likewise.
 	* timezone/zic.c: Likewise.
diff --git a/time/tzfile.c b/time/tzfile.c
index 970022379a..4e20b25a12 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993,1995-2001,2003,2004,2006, 2007
+/* Copyright (C) 1991-1993,1995-2001,2003,2004,2006,2007,2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -659,9 +659,7 @@ __tzfile_compute (time_t timer, int use_localtime,
 	      __tzname[1] = __tzstring (&zone_names[strlen (zone_names) + 1]);
 	    }
 
-	  *leap_correct = 0L;
-	  *leap_hit = 0;
-	  return;
+	  goto leap;
 	}
       else
 	{
@@ -762,6 +760,7 @@ __tzfile_compute (time_t timer, int use_localtime,
       tp->tm_gmtoff = info->offset;
     }
 
+ leap:
   *leap_correct = 0L;
   *leap_hit = 0;