]> granicus.if.org Git - php/commitdiff
Make it possible to explicitly set refcount in ZEND_SET_SYMBOL_WITH_LENGTH(), part 2
authorZeev Suraski <zeev@php.net>
Wed, 1 Dec 1999 22:00:58 +0000 (22:00 +0000)
committerZeev Suraski <zeev@php.net>
Wed, 1 Dec 1999 22:00:58 +0000 (22:00 +0000)
Zend/zend_API.h

index b54942df0ad01b288d86cee77f7dc4c8f540a899..4434e2cb8718f0873557890f98c1586feae76416 100644 (file)
@@ -256,6 +256,9 @@ ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length,
                        (var)->refcount = (*orig_var)->refcount;                                                                                                        \
                        (var)->is_ref = 1;                                                                                                                                                      \
                                                                                                                                                                                                                \
+                       if (_refcount) {                                                                                                                                                        \
+                               (var)->refcount += _refcount-1;                                                                                                                 \
+                       }                                                                                                                                                                                       \
                        zval_dtor(*orig_var);                                                                                                                                           \
                        **orig_var = *(var);                                                                                                                                            \
                        efree(var);                                                                                                                                                                     \