derick Wed Feb 27 09:47:24 2008 UTC
Modified files:
/php-src/ext/date php_date.c
Log:
- Fixed bug #44260 (African timezones missing).
http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.167&r2=1.168&diff_format=u
Index: php-src/ext/date/php_date.c
diff -u php-src/ext/date/php_date.c:1.167 php-src/ext/date/php_date.c:1.168
--- php-src/ext/date/php_date.c:1.167 Mon Feb 25 22:32:26 2008
+++ php-src/ext/date/php_date.c Wed Feb 27 09:47:23 2008
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_date.c,v 1.167 2008/02/25 22:32:26 derick Exp $ */
+/* $Id: php_date.c,v 1.168 2008/02/27 09:47:23 derick Exp $ */
#include "php.h"
#include "php_streams.h"
@@ -1625,18 +1625,19 @@
}
/* }}} */
-#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 @@
#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 @@
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;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php