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

Reply via email to