}
/* }}} */
-#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)
{
#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);
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;