]> granicus.if.org Git - php/commitdiff
add destructor for Phar object to decrease refcount
authorGreg Beaver <cellog@php.net>
Mon, 11 Feb 2008 16:49:53 +0000 (16:49 +0000)
committerGreg Beaver <cellog@php.net>
Mon, 11 Feb 2008 16:49:53 +0000 (16:49 +0000)
ext/phar/phar_object.c

index 2493ee154aad176175b8fcbaa9f03e74c6937a56..27c95cc4524795e3afe64131857df8c77e7209cb 100755 (executable)
@@ -1172,6 +1172,16 @@ PHP_METHOD(Phar, getSupportedCompression)
                return; \
        }
 
+/* {{{ proto void Phar::__destruct()
+ * remove reference count of phar
+ */
+PHP_METHOD(Phar, __destruct)
+{
+       PHAR_ARCHIVE_OBJECT();
+
+       phar_archive_delref(phar_obj->arc.archive TSRMLS_CC);
+}
+
 static int phar_build(zend_object_iterator *iter, void *puser TSRMLS_DC) /* {{{ */
 {
        zval **value;
@@ -3439,6 +3449,7 @@ zend_function_entry php_archive_methods[] = {
        PHP_ME(Phar, __construct,           arginfo_phar___construct,  ZEND_ACC_PRIVATE)
 #else
        PHP_ME(Phar, __construct,           arginfo_phar___construct,  ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, __destruct,            NULL,                      ZEND_ACC_PUBLIC)
        PHP_ME(Phar, startBuffering,        NULL,                      ZEND_ACC_PUBLIC)
        PHP_ME(Phar, stopBuffering,         NULL,                      ZEND_ACC_PUBLIC)
        PHP_ME(Phar, compressAllFilesGZ,    NULL,                      ZEND_ACC_PUBLIC)