mirror of
https://github.com/php/php-src.git
synced 2024-11-27 11:53:33 +08:00
85 lines
2.4 KiB
Plaintext
85 lines
2.4 KiB
Plaintext
$Id$
|
|
|
|
UPGRADE NOTES - PHP X.Y
|
|
|
|
1. Internal API changes
|
|
a. Streams pooling API
|
|
b. Lowercasing and locales
|
|
c. zend_qsort_r
|
|
|
|
2. Build system changes
|
|
a. Unix build system changes
|
|
b. Windows build system changes
|
|
|
|
|
|
========================
|
|
1. Internal API changes
|
|
========================
|
|
|
|
a. Streams pooling API
|
|
|
|
The streams pooling API has been removed. The following functions no longer
|
|
exist:
|
|
|
|
PHPAPI int php_stream_context_get_link(php_stream_context *context,
|
|
const char *hostent, php_stream **stream);
|
|
PHPAPI int php_stream_context_set_link(php_stream_context *context,
|
|
const char *hostent, php_stream *stream);
|
|
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.
|
|
|
|
c. zend_qsort_r
|
|
|
|
Added the function zend_qsort_r():
|
|
|
|
typedef int (*compare_r_func_t)(const void *, const void * TSRMLS_DC, void *);
|
|
void zend_qsort_r(void *base, size_t nmemb, size_t siz, compare_r_func_t compare, void *arg TSRMLS_DC);
|
|
|
|
The extra argument it has (relatively to zend_qsort()) is passed to the
|
|
comparison function.
|
|
|
|
d. get_current_key
|
|
|
|
The signature of the get_current_key iteration handler has been changed to:
|
|
|
|
void (*get_current_key)(zend_object_iterator *iter, zval *key TSRMLS_DC);
|
|
|
|
The key should be written into the zval* using the ZVAL_* macros.
|
|
|
|
========================
|
|
2. Build system changes
|
|
========================
|
|
|
|
a. Unix build system changes
|
|
-
|
|
|
|
b. Windows build system changes
|
|
- Drop Windows XP and 2003 support.
|
|
|