Skip to content

Commit 573a363

Browse files
committed
Address review comments
1 parent 3958b51 commit 573a363

File tree

2 files changed

+7
-17
lines changed

2 files changed

+7
-17
lines changed

ext/spl/spl_directory.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1530,10 +1530,9 @@ PHP_METHOD(RecursiveDirectoryIterator, getChildren)
15301530
zval params[2];
15311531
ZVAL_STR_COPY(&params[0], intern->file_name);
15321532
ZVAL_LONG(&params[1], intern->flags);
1533-
/* Instantiate object and call constructor */
1533+
15341534
zend_result is_initialized = object_init_with_constructor(return_value, Z_OBJCE_P(ZEND_THIS), 2, params, NULL);
1535-
zval_ptr_dtor(&params[0]);
1536-
zval_ptr_dtor(&params[1]);
1535+
zval_ptr_dtor_str(&params[0]);
15371536
if (is_initialized == FAILURE) {
15381537
RETURN_THROWS();
15391538
}

ext/spl/spl_iterators.c

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -556,14 +556,11 @@ static void spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAMETERS, zend_cla
556556
Z_ADDREF_P(iterator);
557557
}
558558

559-
/* Instantiate object and call constructor */
560559
zval params[2];
561-
ZVAL_COPY(&params[0], iterator); // TODO Prevent copy?
562-
zval_ptr_dtor(iterator);
560+
ZVAL_COPY_VALUE(&params[0], iterator);
563561
ZVAL_LONG(&params[1], user_caching_it_flags);
564562
zend_result is_initialized = object_init_with_constructor(&caching_it, spl_ce_RecursiveCachingIterator, 2, params, NULL);
565563
zval_ptr_dtor(&params[0]);
566-
zval_ptr_dtor(&params[1]);
567564
if (is_initialized == FAILURE) {
568565
RETURN_THROWS();
569566
}
@@ -1687,12 +1684,10 @@ PHP_METHOD(RecursiveFilterIterator, getChildren)
16871684

16881685
zval childrens;
16891686
zend_call_method_with_0_params(Z_OBJ(intern->inner.zobject), intern->inner.ce, NULL, "getchildren", &childrens);
1690-
if (EG(exception) || Z_TYPE(childrens) == IS_UNDEF) {
1691-
zval_ptr_dtor(&childrens);
1687+
if (Z_TYPE(childrens) == IS_UNDEF) {
16921688
RETURN_THROWS();
16931689
}
16941690

1695-
/* Instantiate object and call constructor */
16961691
zend_result is_initialized = object_init_with_constructor(return_value, Z_OBJCE_P(ZEND_THIS), 1, &childrens, NULL);
16971692
zval_ptr_dtor(&childrens);
16981693
if (is_initialized == FAILURE) {
@@ -1711,15 +1706,13 @@ PHP_METHOD(RecursiveCallbackFilterIterator, getChildren)
17111706

17121707
zval params[2];
17131708
zend_call_method_with_0_params(Z_OBJ(intern->inner.zobject), intern->inner.ce, NULL, "getchildren", &params[0]);
1714-
if (EG(exception) || Z_TYPE(params[0]) == IS_UNDEF) {
1715-
zval_ptr_dtor(&params[0]);
1709+
if (Z_TYPE(params[0]) == IS_UNDEF) {
17161710
RETURN_THROWS();
17171711
}
17181712

17191713
/* Get callable to pass to the constructor */
17201714
zend_get_callable_zval_from_fcc(&intern->u.callback_filter, &params[1]);
17211715

1722-
/* Instantiate object and call constructor */
17231716
zend_result is_initialized = object_init_with_constructor(return_value, Z_OBJCE_P(ZEND_THIS), 2, params, NULL);
17241717
zval_ptr_dtor(&params[0]);
17251718
zval_ptr_dtor(&params[1]);
@@ -1988,17 +1981,16 @@ PHP_METHOD(RecursiveRegexIterator, getChildren)
19881981
}
19891982

19901983
zval args[5];
1991-
args[0] = retval;
1984+
ZVAL_COPY_VALUE(&args[0], &retval);
19921985
ZVAL_STR_COPY(&args[1], intern->u.regex.regex);
19931986
ZVAL_LONG(&args[2], intern->u.regex.mode);
19941987
ZVAL_LONG(&args[3], intern->u.regex.flags);
19951988
ZVAL_LONG(&args[4], intern->u.regex.preg_flags);
19961989

1997-
/* Instantiate object and call constructor */
19981990
zend_result is_initialized = object_init_with_constructor(return_value, Z_OBJCE_P(ZEND_THIS), 5, args, NULL);
19991991

20001992
zval_ptr_dtor(&args[0]);
2001-
zval_ptr_dtor(&args[1]);
1993+
zval_ptr_dtor_str(&args[1]);
20021994
if (is_initialized == FAILURE) {
20031995
RETURN_THROWS();
20041996
}
@@ -2300,7 +2292,6 @@ static inline void spl_caching_it_next(spl_dual_it_object *intern)
23002292
} else {
23012293
ZVAL_LONG(&args[1], intern->u.caching.flags & CIT_PUBLIC);
23022294

2303-
/* Instantiate object and call constructor */
23042295
zend_result is_initialized = object_init_with_constructor(
23052296
&intern->u.caching.zchildren,
23062297
spl_ce_RecursiveCachingIterator,

0 commit comments

Comments
 (0)