From f876d0bf2aacc88a1012059f5b2ac3fa3445cc2a Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Tue, 3 Oct 2006 15:34:50 +0000 Subject: [PATCH] Fixed handling of FILTER_FORCE_ARRAY --- ext/filter/filter.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ext/filter/filter.c b/ext/filter/filter.c index 2ba5da0db1..28a672060f 100644 --- a/ext/filter/filter.c +++ b/ext/filter/filter.c @@ -570,12 +570,17 @@ static void php_filter_call(zval **filtered, long filter, zval **filter_args, co php_zval_filter(filtered, filter, filter_flags, options, charset, copy TSRMLS_CC); if (filter_flags & FILTER_FORCE_ARRAY) { - zval *temp_array; + zval *tmp; - ALLOC_INIT_ZVAL(temp_array); - array_init(temp_array); - add_next_index_zval(temp_array, *filtered); - *filtered = temp_array; + ALLOC_ZVAL(tmp); + *tmp = **filtered; + zval_copy_ctor(tmp); + INIT_PZVAL(tmp); + + zval_dtor(*filtered); + + array_init(*filtered); + add_next_index_zval(*filtered, tmp); } } /* }}} */ -- 2.50.1