diff options
author | Anatol Belski <ab@php.net> | 2014-08-26 00:13:37 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2014-08-26 00:13:37 +0200 |
commit | 1cda5e196c11ad6f298f56c8ad331e0f9a6d6974 (patch) | |
tree | 8ee508a2725327fdcad115aae7dc3de2321864b3 /UPGRADING.INTERNALS | |
parent | c6a35115bc8508a93f2b09bfaf9d1732a1aad4ed (diff) | |
download | php-git-1cda5e196c11ad6f298f56c8ad331e0f9a6d6974.tar.gz |
updated UPGRADING.INTERNALS
Diffstat (limited to 'UPGRADING.INTERNALS')
-rw-r--r-- | UPGRADING.INTERNALS | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index f1ce1a7907..04de94f13f 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -30,22 +30,17 @@ UPGRADE NOTES - PHP X.Y Besides the old way of accepting the strings with 's', the new 'S' ZPP spec was introduced. It expects an argument of the type zend_string *. String lengths - in it do no more depend on the firm 'int' datatype. The replacement - is a platform dependent size_t datatype called php_size_t. - - String length is defined as zend_size_t inside Zend and aliased as php_size_t - anywhere else. The inclusion of php.h is necessary. + in it are bound to the size_t datatype. Integer types Integers do no more depend on the firm 'long' type. Instead a platform - dependent integer type is used. That datatype is defined dynamically to - guarantee the consistent 64 bit support. The zval field representing user - land integer it bound to php_int_t. + dependent integer type is used, it is called zend_long. That datatype is + defined dynamically to guarantee the consistent 64 bit support. The zval + field representing user land integer it bound to zend_long. - Signed integer is defined as zend_int_t, unsigned integer as zend_uint_t - inside Zend. Both are aliased as php_int_t and php_uint_t anywhere else, - respectively. The inclusion of php.h is necessary. + Signed integer is defined as zend_long, unsigned integer as zend_ulong + inside Zend. Other datatypes @@ -66,14 +61,13 @@ UPGRADE NOTES - PHP X.Y f. zend_parse_parameters() specs The new spec 'S' introduced, which expects an argument of type zend_string *. - The new specs 'i' and 'I' introduced, which expect an argument of type php_int_t. g. sprintf() formats - New printf modifier 'p' was implemented to platform independently output php_int_t, - php_uint_t and php_size_t datatypes. That modifier can be used with'd', 'u', 'x' and 'o' + New printf modifier 'p' was implemented to platform independently output zend_long, + zend_ulong and php_size_t datatypes. That modifier can be used with'd', 'u', 'x' and 'o' printf format specs with spprintf, snprintf and the wrapping printf implementations. - %pu is sufficient for both php_uint_t and php_size_t. the code using %p spec to output + %pu is sufficient for both zend_ulong and php_size_t. the code using %p spec to output pointer address might need to be enclosed into #ifdef when it unlickily followed by 'd', 'u', 'x' or 'o'. @@ -83,7 +77,7 @@ UPGRADE NOTES - PHP X.Y h. HashTable API - Datatype for array indexes was changed to php_uint_t, for string keys to zend_string *. + Datatype for array indexes was changed to zend_ulong, for string keys to zend_string *. i. New portable macros for large file support @@ -97,16 +91,16 @@ UPGRADE NOTES - PHP X.Y j. New portable macros for integers Function(s) Alias Comment - snprintf with "%ld" or "%lld", _ltoa_s, _i64toa_s ZEND_ITOA for use with zend_int_t - atol, atoll, _atoi64 ZEND_ATOI for use with zend_int_t - strtol, strtoll, _strtoi64 ZEND_STRTOI for use with zend_int_t - strtoul, strtoull, _strtoui64 ZEND_STRTOUI for use with zend_int_t - abs, llabs, _abs64 ZEND_ABS for use with zend_int_t - - ZEND_INT_MAX Aliased with PHP_INT_MAX in php.h, replaces LONG_MAX where appropriate - - ZEND_INT_MIN Aliased with PHP_INT_MIN in php.h, replaces LONG_MIN where appropriate - - ZEND_UINT_MAX ULONG_MAX - - SIZEOF_ZEND_INT Replaces SIZEOF_ZEND_LONG where appropriate - - ZEND_SIZE_MAX Max value of zend_size_t + snprintf with "%ld" or "%lld", _ltoa_s, _i64toa_s ZEND_LTOA for use with zend_long + atol, atoll, _atoi64 ZEND_ATOL for use with zend_long + strtol, strtoll, _strtoi64 ZEND_STRTOL for use with zend_long + strtoul, strtoull, _strtoui64 ZEND_STRTOUL for use with zend_long + abs, llabs, _abs64 ZEND_ABS for use with zend_long + - ZEND_LONG_MAX replaces LONG_MAX where appropriate + - ZEND_LONG_MIN replaces LONG_MIN where appropriate + - ZEND_ULONG_MAX replaces ULONG_MAX where appropriate + - SIZEOF_ZEND_LONG reworked SIZEOF_ZEND_LONG representing the size of zend_long datatype + - ZEND_SIZE_MAX Max value of size_t ======================== 2. Build system changes |