summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rwxr-xr-xUPGRADING2
-rw-r--r--UPGRADING.INTERNALS29
-rw-r--r--Zend/tests/bug18556.phpt1
4 files changed, 32 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 37e443d25e..eb4b7dfe7b 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,7 @@ PHP NEWS
- Core:
. Added boolval(). (Jille Timmermans).
+ . Fixed bug #18556 (Engine uses locale rules to handle class names). (Stas)
. Fixed bug #61681 (Malformed grammar). (Nikita Popov, Etienne, Laruence).
. Fixed bug #61038 (unpack("a5", "str\0\0") does not work as expected).
(srgoogleguy, Gustavo)
diff --git a/UPGRADING b/UPGRADING
index 8b52be26d7..d598996f30 100755
--- a/UPGRADING
+++ b/UPGRADING
@@ -21,6 +21,8 @@ PHP X.Y UPGRADE NOTES
========================================
- Drop Windows XP and 2003 support. (Pierre)
+- All internal case insensitivity handling for class, fucntion and constant
+ names is done according to ASCII rules, current locale settings are ignored.
========================================
2. New Features
diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS
index 015c752ad0..90c7a4394f 100644
--- a/UPGRADING.INTERNALS
+++ b/UPGRADING.INTERNALS
@@ -4,6 +4,7 @@ UPGRADE NOTES - PHP X.Y
1. Internal API changes
a. Streams pooling API
+ b. Lowercasing and locales
2. Build system changes
a. Unix build system changes
@@ -26,6 +27,32 @@ PHPAPI int php_stream_context_set_link(php_stream_context *context,
PHPAPI int php_stream_context_del_link(php_stream_context *context,
php_stream *stream);
+ b. Lowercasing and locales
+
+The lowercasing functions in zend_operators.c were split into those that do
+lowercasing according to locale rules and those that do ASCII lowercasing.
+ASCII:
+
+ zend_str_tolower_copy
+ zend_str_tolower_dup
+ zend_str_tolower
+ zend_binary_strcasecmp
+ zend_binary_strncasecmp
+
+Locale-based:
+ zend_binary_strncasecmp_l
+ zend_binary_strcasecmp_l
+ zend_binary_zval_strcasecmp
+ zend_binary_zval_strncasecmp
+ string_compare_function_ex
+ string_case_compare_function
+
+Internal engine lowercasing will be using ASCII-only rules. User-facing functions,
+such as strcasecmp, will be using locale rules.
+
+Two new functions - zend_binary_strncasecmp_l and zend_binary_strcasecmp_l - added as
+locale-based counterparts to zend_binary_strcasecmp and zend_binary_strncasecmp.
+
========================
2. Build system changes
========================
@@ -34,5 +61,5 @@ PHPAPI int php_stream_context_del_link(php_stream_context *context,
-
b. Windows build system changes
- -
+ - Drop Windows XP and 2003 support.
diff --git a/Zend/tests/bug18556.phpt b/Zend/tests/bug18556.phpt
index a9fbb59228..036abb2ada 100644
--- a/Zend/tests/bug18556.phpt
+++ b/Zend/tests/bug18556.phpt
@@ -25,6 +25,7 @@ foreach(get_declared_classes() as $class)
{
if(!class_exists($class))
echo "$class No Longer Exists!\n";
+
}
echo "Done.\n";
?>