Skip to content

Commit fb16bff

Browse files
committed
Merge branch '44780-fallback' into PHP-5.4
2 parents 69af357 + e6ab180 commit fb16bff

File tree

4 files changed

+56
-44
lines changed

4 files changed

+56
-44
lines changed

ext/date/lib/fallbackmap.h

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,42 @@
1-
{ "sst", 0, -11, "Pacific/Apia" },
2-
{ "hst", 0, -10, "Pacific/Honolulu" },
3-
{ "akst", 0, -9, "America/Anchorage" },
4-
{ "akdt", 1, -8, "America/Anchorage" },
5-
{ "pst", 0, -8, "America/Los_Angeles" },
6-
{ "pdt", 1, -7, "America/Los_Angeles" },
7-
{ "mst", 0, -7, "America/Denver" },
8-
{ "mdt", 1, -6, "America/Denver" },
9-
{ "cst", 0, -6, "America/Chicago" },
10-
{ "cdt", 1, -5, "America/Chicago" },
11-
{ "est", 0, -5, "America/New_York" },
12-
{ "edt", 1, -4, "America/New_York" },
13-
{ "ast", 0, -4, "America/Halifax" },
14-
{ "adt", 1, -3, "America/Halifax" },
15-
{ "brt", 0, -3, "America/Sao_Paulo" },
16-
{ "brst", 1, -2, "America/Sao_Paulo" },
17-
{ "azost", 0, -1, "Atlantic/Azores" },
18-
{ "azodt", 1, 0, "Atlantic/Azores" },
19-
{ "gmt", 0, 0, "Europe/London" },
20-
{ "bst", 1, 1, "Europe/London" },
21-
{ "cet", 0, 1, "Europe/Paris" },
22-
{ "cest", 1, 2, "Europe/Paris" },
23-
{ "eet", 0, 2, "Europe/Helsinki" },
24-
{ "eest", 1, 3, "Europe/Helsinki" },
25-
{ "msk", 0, 3, "Europe/Moscow" },
26-
{ "msd", 1, 4, "Europe/Moscow" },
27-
{ "gst", 0, 4, "Asia/Dubai" },
28-
{ "pkt", 0, 5, "Asia/Karachi" },
29-
{ "ist", 0, 5.5, "Asia/Kolkata" },
30-
{ "npt", 0, 5.75, "Asia/Katmandu" },
31-
{ "yekt", 1, 6, "Asia/Yekaterinburg" },
32-
{ "novst", 1, 7, "Asia/Novosibirsk" },
33-
{ "krat", 0, 7, "Asia/Krasnoyarsk" },
34-
{ "krast", 1, 8, "Asia/Krasnoyarsk" },
35-
{ "jst", 0, 9, "Asia/Tokyo" },
36-
{ "est", 0, 10, "Australia/Melbourne" },
37-
{ "cst", 1, 10.5, "Australia/Adelaide" },
38-
{ "est", 1, 11, "Australia/Melbourne" },
39-
{ "nzst", 0, 12, "Pacific/Auckland" },
40-
{ "nzdt", 1, 13, "Pacific/Auckland" },
1+
{ "sst", 0, -660, "Pacific/Apia" },
2+
{ "hst", 0, -600, "Pacific/Honolulu" },
3+
{ "akst", 0, -540, "America/Anchorage" },
4+
{ "akdt", 1, -480, "America/Anchorage" },
5+
{ "pst", 0, -480, "America/Los_Angeles" },
6+
{ "pdt", 1, -420, "America/Los_Angeles" },
7+
{ "mst", 0, -420, "America/Denver" },
8+
{ "mdt", 1, -360, "America/Denver" },
9+
{ "cst", 0, -360, "America/Chicago" },
10+
{ "cdt", 1, -300, "America/Chicago" },
11+
{ "est", 0, -300, "America/New_York" },
12+
{ "vet", 0, -270, "America/Caracas" },
13+
{ "edt", 1, -240, "America/New_York" },
14+
{ "ast", 0, -240, "America/Halifax" },
15+
{ "adt", 1, -180, "America/Halifax" },
16+
{ "brt", 0, -180, "America/Sao_Paulo" },
17+
{ "brst", 1, -120, "America/Sao_Paulo" },
18+
{ "azost", 0, -60, "Atlantic/Azores" },
19+
{ "azodt", 1, 0, "Atlantic/Azores" },
20+
{ "gmt", 0, 0, "Europe/London" },
21+
{ "bst", 1, 60, "Europe/London" },
22+
{ "cet", 0, 60, "Europe/Paris" },
23+
{ "cest", 1, 120, "Europe/Paris" },
24+
{ "eet", 0, 120, "Europe/Helsinki" },
25+
{ "eest", 1, 180, "Europe/Helsinki" },
26+
{ "msk", 0, 180, "Europe/Moscow" },
27+
{ "msd", 1, 240, "Europe/Moscow" },
28+
{ "gst", 0, 240, "Asia/Dubai" },
29+
{ "pkt", 0, 300, "Asia/Karachi" },
30+
{ "ist", 0, 330, "Asia/Kolkata" },
31+
{ "npt", 0, 345, "Asia/Katmandu" },
32+
{ "yekt", 1, 360, "Asia/Yekaterinburg" },
33+
{ "novst", 1, 420, "Asia/Novosibirsk" },
34+
{ "krat", 0, 420, "Asia/Krasnoyarsk" },
35+
{ "cst", 0, 480, "Asia/Shanghai" },
36+
{ "krast", 1, 480, "Asia/Krasnoyarsk" },
37+
{ "jst", 0, 540, "Asia/Tokyo" },
38+
{ "est", 0, 600, "Australia/Melbourne" },
39+
{ "cst", 1, 630, "Australia/Adelaide" },
40+
{ "est", 1, 660, "Australia/Melbourne" },
41+
{ "nzst", 0, 720, "Pacific/Auckland" },
42+
{ "nzdt", 1, 780, "Pacific/Auckland" },

ext/date/lib/parse_date.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
/* Generated by re2c 0.13.5 on Sun Aug 25 14:46:08 2013 */
1+
/* Generated by re2c 0.13.5 on Sat Jan 25 15:48:30 2014 */
22
#line 1 "ext/date/lib/parse_date.re"
33
/*
44
+----------------------------------------------------------------------+
55
| PHP Version 5 |
66
+----------------------------------------------------------------------+
7-
| Copyright (c) 1997-2014 The PHP Group |
7+
| Copyright (c) 1997-2013 The PHP Group |
88
+----------------------------------------------------------------------+
99
| This source file is subject to version 3.01 of the PHP license, |
1010
| that is bundled with this package in the file LICENSE, and is |
@@ -752,7 +752,7 @@ const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffs
752752
/* Still didn't find anything, let's find the zone solely based on
753753
* offset/isdst then */
754754
for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
755-
if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) {
755+
if ((fmp->gmtoffset * 60) == gmtoffset && fmp->type == isdst) {
756756
return fmp;
757757
}
758758
}

ext/date/lib/parse_date.re

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -750,7 +750,7 @@ const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffs
750750
/* Still didn't find anything, let's find the zone solely based on
751751
* offset/isdst then */
752752
for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
753-
if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) {
753+
if ((fmp->gmtoffset * 60) == gmtoffset && fmp->type == isdst) {
754754
return fmp;
755755
}
756756
}

ext/date/tests/bug44780.phpt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
--TEST--
2+
Bug #44780 (some time zone offsets not recognized by timezone_name_from_abbr)
3+
--FILE--
4+
<?php
5+
var_dump( timezone_name_from_abbr("", 5.5*3600, false) );
6+
var_dump( timezone_name_from_abbr("", 28800, false) );
7+
?>
8+
--EXPECT--
9+
string(12) "Asia/Kolkata"
10+
string(13) "Asia/Shanghai"

0 commit comments

Comments
 (0)