diff options
Diffstat (limited to 'php/src/php7/Properties.cpp')
-rw-r--r-- | php/src/php7/Properties.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/php/src/php7/Properties.cpp b/php/src/php7/Properties.cpp index e394d62c00c..df4ffb4848b 100644 --- a/php/src/php7/Properties.cpp +++ b/php/src/php7/Properties.cpp @@ -524,6 +524,14 @@ ZEND_FUNCTION(Ice_createProperties) RETURN_NULL(); } + if(arglist) + { + while(Z_TYPE_P(arglist) == IS_REFERENCE) + { + arglist = Z_REFVAL_P(arglist); + } + } + Ice::StringSeq seq; if(arglist && !extractStringArray(arglist, seq)) { @@ -553,7 +561,7 @@ ZEND_FUNCTION(Ice_createProperties) RETURN_NULL(); } - if(arglist && Z_ISREF_P(arglist)) + if(arglist) { zval_dtor(arglist); if(!createStringArray(arglist, seq)) |