Example #1
0
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");
}
Example #2
0
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);
	}
}
Example #3
0
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));
}
Example #4
0
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);
}