From 964189e41e2925a2f3e8c5ee0eed1b6619109b92 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Wed, 27 Feb 2008 09:47:23 +0000 Subject: [PATCH] - Fixed bug #44260 (African timezones missing). --- ext/date/php_date.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/ext/date/php_date.c b/ext/date/php_date.c index a5c0f4e2e6..24c19c95ad 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -1625,18 +1625,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) { @@ -1674,6 +1675,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); @@ -2668,6 +2670,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; -- 2.50.1