@@ -1686,13 +1686,14 @@ static int phar_build(zend_object_iterator *iter, void *puser) /* {{{ */
1686
1686
*/
1687
1687
PHP_METHOD (Phar , buildFromDirectory )
1688
1688
{
1689
- char * dir , * error , * regex = NULL ;
1690
- size_t dir_len , regex_len = 0 ;
1689
+ char * dir , * error ;
1690
+ size_t dir_len ;
1691
1691
bool apply_reg = 0 ;
1692
1692
zval arg , arg2 , iter , iteriter , regexiter ;
1693
1693
struct _phar_t pass ;
1694
+ zend_string * regex = NULL ;
1694
1695
1695
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "p|s " , & dir , & dir_len , & regex , & regex_len ) == FAILURE ) {
1696
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), "p|S " , & dir , & dir_len , & regex ) == FAILURE ) {
1696
1697
RETURN_THROWS ();
1697
1698
}
1698
1699
@@ -1744,7 +1745,7 @@ PHP_METHOD(Phar, buildFromDirectory)
1744
1745
1745
1746
zval_ptr_dtor (& iter );
1746
1747
1747
- if (regex_len > 0 ) {
1748
+ if (regex && ZSTR_LEN ( regex ) > 0 ) {
1748
1749
apply_reg = 1 ;
1749
1750
1750
1751
if (SUCCESS != object_init_ex (& regexiter , spl_ce_RegexIterator )) {
@@ -1754,11 +1755,9 @@ PHP_METHOD(Phar, buildFromDirectory)
1754
1755
RETURN_THROWS ();
1755
1756
}
1756
1757
1757
- ZVAL_STRINGL (& arg2 , regex , regex_len );
1758
-
1758
+ ZVAL_STR (& arg2 , regex );
1759
1759
zend_call_known_instance_method_with_2_params (spl_ce_RegexIterator -> constructor ,
1760
1760
Z_OBJ (regexiter ), NULL , & iteriter , & arg2 );
1761
- zval_ptr_dtor (& arg2 );
1762
1761
}
1763
1762
1764
1763
array_init (return_value );
0 commit comments