diff options
author | Matt Wilmas <mattwil@php.net> | 2009-06-04 18:20:45 (GMT) |
---|---|---|
committer | Matt Wilmas <mattwil@php.net> | 2009-06-04 18:20:45 (GMT) |
commit | b907aa43311ab0b5430d2713a54414baaf9c7e20 (patch) | |
tree | 397f1697ff3ff689eea6ff04611831939df02ef0 /README.PARAMETER_PARSING_API | |
parent | 1787a2272a7d9f3f7c7932f61b57054755e99135 (diff) | |
download | php-b907aa43311ab0b5430d2713a54414baaf9c7e20.tar.gz |
MFH:
Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior:
* Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit)
* See bug #42868 (presumably-rare platform with different results in 5.2)
* On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added,
otherwise it's the same as 5.2
* Use this conversion method everywhere instead of some plain (long) casts
Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit:
* Essentially what 5.3's new conversion was doing in most cases
* Functions with "limit" or "length" type params could be updated to use this,
and prevent confusing overflow behavior with huge numbers (*also* in 5.2)
- See bug #47854, for example; or even #42868 again
# Test updates coming
Diffstat (limited to 'README.PARAMETER_PARSING_API')
-rw-r--r-- | README.PARAMETER_PARSING_API | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/README.PARAMETER_PARSING_API b/README.PARAMETER_PARSING_API index 530b2b5..8d29767 100644 --- a/README.PARAMETER_PARSING_API +++ b/README.PARAMETER_PARSING_API @@ -48,6 +48,7 @@ Type specifiers h - array (returned as HashTable*) H - array or HASH_OF(object) (returned as HashTable*) l - long (long) + L - long, limits out-of-range numbers to LONG_MAX/LONG_MIN (long) o - object of any type (zval*) O - object of specific type given by class entry (zval*, zend_class_entry) r - resource (zval*) |