From: Derick Rethans Date: Wed, 27 Feb 2008 09:47:35 +0000 (+0000) Subject: - MFH: Fixed bug #44260 (African timezones missing). X-Git-Tag: BEFORE_NEW_PARAMETER_PARSE~728 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=825c3f5ac28cb5c4aab5ac6fee7dff2fbbb83383;p=php - MFH: Fixed bug #44260 (African timezones missing). --- diff --git a/ext/date/php_date.c b/ext/date/php_date.c index cc446e8e0a..436bd38cc1 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -1500,18 +1500,19 @@ PHP_FUNCTION(getdate) } /* }}} */ -#define PHP_DATE_TIMEZONE_GROUP_AMERICA 0x0001 -#define PHP_DATE_TIMEZONE_GROUP_ANTARCTICA 0x0002 -#define PHP_DATE_TIMEZONE_GROUP_ARCTIC 0x0004 -#define PHP_DATE_TIMEZONE_GROUP_ASIA 0x0008 -#define PHP_DATE_TIMEZONE_GROUP_ATLANTIC 0x0010 -#define PHP_DATE_TIMEZONE_GROUP_AUSTRALIA 0x0020 -#define PHP_DATE_TIMEZONE_GROUP_EUROPE 0x0040 -#define PHP_DATE_TIMEZONE_GROUP_INDIAN 0x0080 -#define PHP_DATE_TIMEZONE_GROUP_PACIFIC 0x0100 -#define PHP_DATE_TIMEZONE_GROUP_UTC 0x0200 -#define PHP_DATE_TIMEZONE_GROUP_ALL 0x03FF -#define PHP_DATE_TIMEZONE_GROUP_ALL_W_BC 0x07FF +#define PHP_DATE_TIMEZONE_GROUP_AFRICA 0x0001 +#define PHP_DATE_TIMEZONE_GROUP_AMERICA 0x0002 +#define PHP_DATE_TIMEZONE_GROUP_ANTARCTICA 0x0004 +#define PHP_DATE_TIMEZONE_GROUP_ARCTIC 0x0008 +#define PHP_DATE_TIMEZONE_GROUP_ASIA 0x0010 +#define PHP_DATE_TIMEZONE_GROUP_ATLANTIC 0x0020 +#define PHP_DATE_TIMEZONE_GROUP_AUSTRALIA 0x0040 +#define PHP_DATE_TIMEZONE_GROUP_EUROPE 0x0080 +#define PHP_DATE_TIMEZONE_GROUP_INDIAN 0x0100 +#define PHP_DATE_TIMEZONE_GROUP_PACIFIC 0x0200 +#define PHP_DATE_TIMEZONE_GROUP_UTC 0x0400 +#define PHP_DATE_TIMEZONE_GROUP_ALL 0x07FF +#define PHP_DATE_TIMEZONE_GROUP_ALL_W_BC 0x0FFF static void date_register_classes(TSRMLS_D) { @@ -1549,6 +1550,7 @@ static void date_register_classes(TSRMLS_D) #define REGISTER_TIMEZONE_CLASS_CONST_STRING(const_name, value) \ zend_declare_class_constant_long(date_ce_timezone, const_name, sizeof(const_name)-1, value TSRMLS_CC); + REGISTER_TIMEZONE_CLASS_CONST_STRING("AFRICA", PHP_DATE_TIMEZONE_GROUP_AFRICA); REGISTER_TIMEZONE_CLASS_CONST_STRING("AMERICA", PHP_DATE_TIMEZONE_GROUP_AMERICA); REGISTER_TIMEZONE_CLASS_CONST_STRING("ANTARCTICA", PHP_DATE_TIMEZONE_GROUP_ANTARCTICA); REGISTER_TIMEZONE_CLASS_CONST_STRING("ARCTIC", PHP_DATE_TIMEZONE_GROUP_ARCTIC); @@ -2507,6 +2509,7 @@ PHP_FUNCTION(timezone_transitions_get) static int check_id_allowed(char *id, long what) { + if (what & PHP_DATE_TIMEZONE_GROUP_AFRICA && strncasecmp(id, "Africa/", 7) == 0) return 1; if (what & PHP_DATE_TIMEZONE_GROUP_AMERICA && strncasecmp(id, "America/", 8) == 0) return 1; if (what & PHP_DATE_TIMEZONE_GROUP_ANTARCTICA && strncasecmp(id, "Antarctica/", 11) == 0) return 1; if (what & PHP_DATE_TIMEZONE_GROUP_ARCTIC && strncasecmp(id, "Arctic/", 7) == 0) return 1;