diff options
author | Anatol Belski <ab@php.net> | 2013-06-10 17:48:13 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2013-06-10 17:48:13 +0200 |
commit | 02f39220470d82066965b7d4657cadf40ac3dd6f (patch) | |
tree | 18bacaf6ab703e3713744fa8c6412f414d46e1ed /ext/date/php_date.c | |
parent | a9d005c04e73621f81d441ef7afaae0dca18a58c (diff) | |
download | php-git-02f39220470d82066965b7d4657cadf40ac3dd6f.tar.gz |
Fix a BC breach related to bug #53437
days and special_amount properties are exported as int again
Diffstat (limited to 'ext/date/php_date.c')
-rw-r--r-- | ext/date/php_date.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/ext/date/php_date.c b/ext/date/php_date.c index d09d254c17..28ac86b119 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2384,18 +2384,9 @@ static HashTable *date_object_get_properties_interval(zval *object TSRMLS_DC) return props; } -#define PHP_DATE_INTERVAL_ADD_PROPERTY_I64(n, f) \ - do { \ - char i64_buf[DATE_I64_BUF_LEN]; \ - MAKE_STD_ZVAL(zv); \ - DATE_I64A(intervalobj->diff->f, i64_buf, DATE_I64_BUF_LEN); \ - ZVAL_STRING(zv, i64_buf, 1); \ - zend_hash_update(props, n, strlen(n) + 1, &zv, sizeof(zval), NULL); \ - } while(0); - #define PHP_DATE_INTERVAL_ADD_PROPERTY(n,f) \ MAKE_STD_ZVAL(zv); \ - ZVAL_LONG(zv, intervalobj->diff->f); \ + ZVAL_LONG(zv, (long)intervalobj->diff->f); \ zend_hash_update(props, n, strlen(n) + 1, &zv, sizeof(zval), NULL); PHP_DATE_INTERVAL_ADD_PROPERTY("y", y); @@ -2409,14 +2400,14 @@ static HashTable *date_object_get_properties_interval(zval *object TSRMLS_DC) PHP_DATE_INTERVAL_ADD_PROPERTY("first_last_day_of", first_last_day_of); PHP_DATE_INTERVAL_ADD_PROPERTY("invert", invert); if (intervalobj->diff->days != -99999) { - PHP_DATE_INTERVAL_ADD_PROPERTY_I64("days", days); + PHP_DATE_INTERVAL_ADD_PROPERTY("days", days); } else { MAKE_STD_ZVAL(zv); ZVAL_FALSE(zv); zend_hash_update(props, "days", 5, &zv, sizeof(zval), NULL); } PHP_DATE_INTERVAL_ADD_PROPERTY("special_type", special.type); - PHP_DATE_INTERVAL_ADD_PROPERTY_I64("special_amount", special.amount); + PHP_DATE_INTERVAL_ADD_PROPERTY("special_amount", special.amount); PHP_DATE_INTERVAL_ADD_PROPERTY("have_weekday_relative", have_weekday_relative); PHP_DATE_INTERVAL_ADD_PROPERTY("have_special_relative", have_special_relative); |