static void krisp_object_free_storage (zend_object * object) { KROBJ * intern = (KROBJ *) krisp_fetch_object (object); PRINT_CALL_API_NAME; if ( ! intern ) return; if ( intern->db != NULL ) { kr_printf ("intern->db --------------------> %d\n", intern->db); kr_printf ("intern->db->rsrc ---------> %d\n", intern->db->rsrc); if ( intern->db->rsrc ) { //kr_printf ("GC_REFCOUNT(intern->db->rsrc) --> %d\n", GC_REFCOUNT(intern->db->rsrc)); // close krisp handler kr_printf ("intern->db->rsrc->ptr ---------> %d\n", intern->db->rsrc->ptr); kr_printf ("intern->db->rsrc->type ---------> %d\n", intern->db->rsrc->type); // if call zend_list_close, // calling zend_register_list_destructors_ex (_close_krisp_link on this source) too. zend_list_close (intern->db->rsrc); } // free'd intern->db in _close_krisp_link, so set NULL in here. intern->db = NULL; kr_printf ("intern->db --------------------> %d\n", intern->db); } kr_printf ("...\n"); zend_object_std_dtor (&intern->std); kr_printf ("...\n"); }
static void geoip_object_free_storage (zend_object * object) { geoip_object * intern; GE_PRINT_CALL_API_NAME; intern = (geoip_object *) geoip_fetch_object (object); zend_object_std_dtor (&intern->std); if ( intern->db != NULL && intern->db->rsrc ) { zend_list_close (intern->db->rsrc); } }
void _php_curl_multi_cleanup_list(void *data) /* {{{ */ { zval *z_ch = (zval *)data; php_curl *ch; if (!z_ch) { return; } if (!Z_RES_P(z_ch)->ptr) { return; } if ((ch = (php_curl *)zend_fetch_resource(Z_RES_P(z_ch), le_curl_name, le_curl)) == NULL) { return; } zend_list_close(Z_RES_P(z_ch)); }
void _php_curl_multi_cleanup_list(void *data) /* {{{ */ { zval *z_ch = (zval *)data; php_curl *ch; TSRMLS_FETCH(); if (!z_ch) { return; } ch = zend_fetch_resource(z_ch TSRMLS_CC, -1, le_curl_name, NULL, 1, le_curl); if (!ch) { return; } zend_list_close(Z_RES_P(z_ch)); }
PHP_MAILPARSE_API void php_mimepart_free(php_mimepart *part) { if (part->rsrc) { zend_list_close(part->rsrc); part->rsrc = NULL; } /* free contained parts */ zend_hash_destroy(&part->children); STR_FREE(part->mime_version); STR_FREE(part->content_transfer_encoding); STR_FREE(part->charset); STR_FREE(part->boundary); STR_FREE(part->content_base); STR_FREE(part->content_location); if (part->content_type) { php_mimeheader_free(part->content_type); part->content_type = NULL; } if (part->content_disposition) { php_mimeheader_free(part->content_disposition); part->content_disposition = NULL; } smart_string_free(&part->parsedata.workbuf); smart_string_free(&part->parsedata.headerbuf); zval_ptr_dtor(&part->source.zval); zval_ptr_dtor(&part->headerhash); efree(part); }