[tz] tz abbr too long in 2017a Africa/Monrovia [was: zic throws warning for 2007a]
Brian Inglis
Brian.Inglis at SystematicSw.ab.ca
Wed Mar 1 21:42:25 UTC 2017
On 2017-03-01 13:12, Derick Rethans wrote:
> I've just updated the PHP version of the TZ database, and while
> compiling with the current zic, I see:
> warning: "standard input", line 434: time zone abbreviation has too many characters (-004430)
> This is because of:
> 24 #ifndef ZIC_MAX_ABBR_LEN_WO_WARN
> 25 #define ZIC_MAX_ABBR_LEN_WO_WARN 6
> 26 #endif /* !defined ZIC_MAX_ABBR_LEN_WO_WARN */
> 3108 if (cp - string > ZIC_MAX_ABBR_LEN_WO_WARN)
> 3109 mp = _("time zone abbreviation has too many characters");
> That check was introduced in 2012j as per NEWS:
> Release 2012j - 2012-11-12 18:34:49 -0800
> ...
> zic -v now complains about abbreviations that are less than 3
> or more than 6 characters, as per Posix. Formerly, it checked
> for abbreviations that were more than 3.
Seems the problem is only in:
$ egrep -n '^[^#]*[-+]?[0-9]{5,6}' tz/releases/tzdata*/[aefns]*[aey]
tz/releases/tzdata2017a/africa:434: -0:44:30 - -004430 1972 May
$ awk 'BEGIN{RS="";FS="\n"};/\n[^#]*[-+]?[0-9]{5,6}/' tz/releases/tzdata2017a/africa
# Liberia
# From Paul Eggert (2006-03-22):
# In 1972 Liberia was the last country to switch
# from a UTC offset that was not a multiple of 15 or 20 minutes.
# Howse reports that it was in honor of their president's birthday.
# Shank & Pottenger report the date as May 1, whereas Howse reports Jan;
# go with Shanks & Pottenger.
# For Liberia before 1972, Shanks & Pottenger report -0:44, whereas Howse and
# Whitman each report -0:44:30; go with the more precise figure.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Monrovia -0:43:08 - LMT 1882
-0:43:08 - MMT 1919 Mar # Monrovia Mean Time
-0:44:30 - -004430 1972 May
0:00 - GMT
$ zic -vd /usr/local/share/zoneinfo/ tz/releases/tzdata2017a/africa
warning: "tz/releases/tzdata2017a/africa", line 434: time zone abbreviation has too many characters (-004430)
$ zdump -iV /usr/local/share/zoneinfo/Africa/Monrovia
TZ="/usr/local/share/zoneinfo/Africa/Monrovia"
- - -00:43:08 LMT
1882-01-01 00 -00:43:08 MMT
1919-02-28 23:58:38 -00:44:30 "-004430"
1972-05-01 00:44:30 +00 GMT
Looks like it stores the over long abbreviation.
So should probably patch:
--- tz/releases/tzdata2017a/africa 2017-02-23 00:37:19.000000000 -0700
+++ tz/releases/tzdata2017b/africa 2017-03-01 14:36:43.479882200 -0700
@@ -431,7 +431,7 @@ Link Africa/Nairobi Indian/Mayotte
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Monrovia -0:43:08 - LMT 1882
-0:43:08 - MMT 1919 Mar # Monrovia Mean Time
- -0:44:30 - -004430 1972 May
+ -0:44:30 - -0044 1972 May
0:00 - GMT
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
More information about the tz
mailing list