Exemplo n.º 1
0
/* {{{ finfo_objects_dtor
 */
static void finfo_objects_dtor(void *object, zend_object_handle handle TSRMLS_DC)
{
	struct finfo_object *intern = (struct finfo_object *) object;

	if (intern->ptr) {
		magic_close(intern->ptr->magic);
		efree(intern->ptr);
	}

	zend_object_std_dtor(&intern->zo TSRMLS_CC);
	efree(intern);
}
Exemplo n.º 2
0
/* {{{ TimeZone_objects_free */
static void TimeZone_objects_free(zend_object *object)
{
	TimeZone_object* to = php_intl_timezone_fetch_object(object);

	if (to->utimezone && to->should_delete) {
		delete to->utimezone;
		to->utimezone = NULL;
	}
	intl_error_reset(TIMEZONE_ERROR_P(to));

	zend_object_std_dtor(&to->zo);
}
Exemplo n.º 3
0
static void zend_generator_free_storage(zend_object *object) /* {{{ */
{
	zend_generator *generator = (zend_generator*) object;

	zend_generator_close(generator, 0);

	zval_ptr_dtor(&generator->retval);
	zend_object_std_dtor(&generator->std);

	if (generator->iterator) {
		zend_iterator_dtor(generator->iterator);
	}
}
Exemplo n.º 4
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);
	}
}
Exemplo n.º 5
0
void spl_SplObjectStorage_free_storage(zend_object *object) /* {{{ */
{
	spl_SplObjectStorage *intern = spl_object_storage_from_obj(object);

	zend_object_std_dtor(&intern->std);

	zend_hash_destroy(&intern->storage);

	if (intern->gcdata != NULL) {
		efree(intern->gcdata);
	}

} /* }}} */
Exemplo n.º 6
0
/* {{{ python_object_destroy(void *object, zend_object_handle handle TSRMLS_DC)
 */
static void
python_object_destroy(void *object, zend_object_handle handle TSRMLS_DC)
{
	php_python_object *pip = (php_python_object *)object;

	/* Release our reference to this Python object. */
	PHP_PYTHON_THREAD_ACQUIRE();
	Py_XDECREF(pip->object);
	PHP_PYTHON_THREAD_RELEASE();

	/* Destroy our base object, too. */ 
	zend_object_std_dtor(&pip->base TSRMLS_CC);
}
Exemplo n.º 7
0
void skyray_stream_client_object_free(zend_object *object)
{
    skyray_stream_client_t *intern = skyray_stream_client_from_obj(object);
    zend_object_std_dtor(&intern->std);

    if (intern->protocol_creator) {
        zval_ptr_dtor(intern->protocol_creator);
        efree(intern->protocol_creator);
    }
    if (intern->reactor) {
        zval_ptr_dtor(intern->reactor);
        efree(intern->reactor);
    }
}
Exemplo n.º 8
0
static void zend_closure_free_storage(zend_object *object) /* {{{ */
{
    zend_closure *closure = (zend_closure *)object;

    zend_object_std_dtor(&closure->std);

    if (closure->func.type == ZEND_USER_FUNCTION) {
        destroy_op_array(&closure->func.op_array);
    }

    if (Z_TYPE(closure->this_ptr) != IS_UNDEF) {
        zval_ptr_dtor(&closure->this_ptr);
    }
}
Exemplo n.º 9
0
/* KADM5Principal ctor/dtor */
static void php_krb5_kadm5_principal_object_dtor(void *obj, zend_object_handle handle TSRMLS_DC)
{
	krb5_kadm5_principal_object *object = (krb5_kadm5_principal_object*)obj;
	zend_object_std_dtor(&(object->std) TSRMLS_CC);

	if(object) {
		if(object->conn) {
			kadm5_free_principal_ent(object->conn->handle, &object->data);
			php_krb5_free_kadm5_object(object->conn);
		}

		efree(object);
	}
}
Exemplo n.º 10
0
void skyray_promise_object_free(zend_object *object)
{
    skyray_promise_t *intern = skyray_promise_from_obj(object);

    // The promise is still pending
    if (Z_TYPE(intern->result) == IS_UNDEF) {
        zend_hash_destroy(&intern->on_fulfilled);
        zend_hash_destroy(&intern->on_rejcted);
    }

    zend_hash_destroy(&intern->on_notify);

    zval_ptr_dtor(&intern->result);

    zend_object_std_dtor(&intern->std);
}
Exemplo n.º 11
0
/* {{{ ResourceBundle_object_free */
static void ResourceBundle_object_free( zend_object *object )
{
	ResourceBundle_object *rb = php_intl_resourcebundle_fetch_object(object);

	// only free local errors
	intl_error_reset( INTL_DATA_ERROR_P(rb) );

	if (rb->me) {
		ures_close( rb->me );
	}
	if (rb->child) {
		ures_close( rb->child );
	}

	zend_object_std_dtor( &rb->zend );
}
Exemplo n.º 12
0
/* {{{ ResourceBundle_object_dtor */
static void ResourceBundle_object_destroy( void *object, zend_object_handle handle TSRMLS_DC )
{
	ResourceBundle_object *rb = (ResourceBundle_object *) object;

	// only free local errors
	intl_error_reset( INTL_DATA_ERROR_P(rb) TSRMLS_CC );

	if (rb->me) {
		ures_close( rb->me );
	}
	if (rb->child) {
		ures_close( rb->child );
	}

	zend_object_std_dtor( object TSRMLS_CC );
	efree(object);
}
Exemplo n.º 13
0
static void spl_fixedarray_object_free_storage(zend_object *object) /* {{{ */
{
	spl_fixedarray_object *intern = spl_fixed_array_from_obj(object);
	zend_long i;

	if (intern->array.size > 0) {
		for (i = 0; i < intern->array.size; i++) {
			zval_ptr_dtor(&(intern->array.elements[i]));
		}

		if (intern->array.size > 0 && intern->array.elements) {
			efree(intern->array.elements);
		}
	}

	zend_object_std_dtor(&intern->std);
}
Exemplo n.º 14
0
static void tidy_object_free_storage(zend_object *object)
{
	PHPTidyObj *intern = php_tidy_fetch_object(object);

	zend_object_std_dtor(&intern->std);

	if (intern->ptdoc) {
		intern->ptdoc->ref_count--;

		if (intern->ptdoc->ref_count <= 0) {
			tidyBufFree(intern->ptdoc->errbuf);
			efree(intern->ptdoc->errbuf);
			tidyRelease(intern->ptdoc->doc);
			efree(intern->ptdoc);
		}
	}
}
Exemplo n.º 15
0
static void saproxy_free_storage(zend_object *object)
{
	php_com_saproxy *proxy = (php_com_saproxy *)object;
//???	int i;
//???
//???	for (i = 0; i < proxy->dimensions; i++) {
//???		if (proxy->indices) {
//???				FREE_ZVAL(proxy->indices[i]);
//???		}
//???	}

	OBJ_RELEASE(&proxy->obj->zo);

	zend_object_std_dtor(object);

	efree(proxy->indices);
}
Exemplo n.º 16
0
static void helper_free_storage(zend_object *obj)
{
	php_com_persist_helper *object = (php_com_persist_helper*)obj;

	if (object->ipf) {
		IPersistFile_Release(object->ipf);
	}
	if (object->ips) {
		IPersistStream_Release(object->ips);
	}
	if (object->ipsi) {
		IPersistStreamInit_Release(object->ipsi);
	}
	if (object->unk) {
		IUnknown_Release(object->unk);
	}
	zend_object_std_dtor(&object->std);
}
Exemplo n.º 17
0
static void zend_closure_free_storage(zend_object *object) /* {{{ */
{
	zend_closure *closure = (zend_closure *)object;

	zend_object_std_dtor(&closure->std);

	if (closure->func.type == ZEND_USER_FUNCTION) {
		if (closure->func.op_array.fn_flags & ZEND_ACC_NO_RT_ARENA) {
			efree(closure->func.op_array.run_time_cache);
			closure->func.op_array.run_time_cache = NULL;
		}
		destroy_op_array(&closure->func.op_array);
	}

	if (Z_TYPE(closure->this_ptr) != IS_UNDEF) {
		zval_ptr_dtor(&closure->this_ptr);
	}
}
Exemplo n.º 18
0
static void splclassloader_object_dtor(void* object, zend_object_handle handle TSRMLS_DC)
{ 
    splclassloader_object* obj = (splclassloader_object*)object;
    if (obj->ns) {
        efree(obj->ns);
        obj->ns = NULL;
    }
    if (obj->inc_path) {
        efree(obj->inc_path);
        obj->inc_path = NULL;
    }
    if (obj->file_ext) {
        efree(obj->file_ext);
        obj->file_ext = NULL;
    }
    zend_object_std_dtor(&obj->std TSRMLS_CC);
    efree(obj);
}
Exemplo n.º 19
0
static void spl_dllist_object_free_storage(zend_object *object) /* {{{ */
{
	spl_dllist_object *intern = spl_dllist_from_obj(object);
	zval tmp;

	zend_object_std_dtor(&intern->std);

	while (intern->llist->count > 0) {
		spl_ptr_llist_pop(intern->llist, &tmp);
		zval_ptr_dtor(&tmp);
	}

	if (intern->gc_data != NULL) {
		efree(intern->gc_data);
	};

	spl_ptr_llist_destroy(intern->llist);
	SPL_LLIST_CHECK_DELREF(intern->traverse_pointer);
}
Exemplo n.º 20
0
static void oauth_provider_free_storage(zend_object *obj) /* {{{ */
{
	php_oauth_provider *sop;

	sop = sop_object_from_obj(obj);

	zend_object_std_dtor(&sop->zo);

	OAUTH_PROVIDER_FREE_FCALL_INFO(sop->consumer_handler);
	OAUTH_PROVIDER_FREE_FCALL_INFO(sop->token_handler);
	OAUTH_PROVIDER_FREE_FCALL_INFO(sop->tsnonce_handler);
	FREE_ARGS_HASH(sop->missing_params);
	FREE_ARGS_HASH(sop->oauth_params);
	FREE_ARGS_HASH(sop->required_params);
	FREE_ARGS_HASH(sop->custom_params);

	OAUTH_PROVIDER_FREE_STRING(sop->endpoint_paths[OAUTH_PROVIDER_PATH_REQUEST]);
	OAUTH_PROVIDER_FREE_STRING(sop->endpoint_paths[OAUTH_PROVIDER_PATH_ACCESS]);
	OAUTH_PROVIDER_FREE_STRING(sop->endpoint_paths[OAUTH_PROVIDER_PATH_AUTH]);
}
Exemplo n.º 21
0
static void spl_heap_object_free_storage(zend_object *object) /* {{{ */
{
	int i;
	spl_heap_object *intern = spl_heap_from_obj(object);

	zend_object_std_dtor(&intern->std);

	for (i = 0; i < intern->heap->count; ++i) {
		if (!Z_ISUNDEF(intern->heap->elements[i])) {
			zval_ptr_dtor(&intern->heap->elements[i]);
		}
	}

	spl_ptr_heap_destroy(intern->heap);

	zval_ptr_dtor(&intern->retval);

	if (intern->debug_info != NULL) {
		zend_hash_destroy(intern->debug_info);
		efree(intern->debug_info);
	}
}
Exemplo n.º 22
0
void ion_process_ipc_free(zend_object * object) {
    ion_process_ipc * ipc = ION_ZOBJ_OBJECT(object, ion_process_ipc);
    zend_object_std_dtor(object);
    if(ipc->on_message) {
        ion_object_release(ipc->on_message);
    }
    if(ipc->on_disconnect) {
        ion_object_release(ipc->on_disconnect);
        ipc->on_disconnect = NULL;
    }
    if(ipc->parser) {
        efree(ipc->parser);
        ipc->parser = NULL;
    }
    if(ipc->buffer) {
        bufferevent_disable(ipc->buffer, EV_READ | EV_WRITE);
        bufferevent_free(ipc->buffer);
    }
//    if(ipc->flags & ION_IPC_CTX_RELEASE) {
//        PHPDBG("relase");
        zval_ptr_dtor(&ipc->ctx);
//    }
}
Exemplo n.º 23
0
/* Frees and destroys an instance of wrapped_grpc_call */
static void free_wrapped_grpc_timeval(zend_object *object) {
  wrapped_grpc_timeval *timeval = wrapped_grpc_timeval_from_obj(object);
  zend_object_std_dtor(&timeval->std);
}
Exemplo n.º 24
0
static void ds_pair_free_object(zend_object *object)
{
    php_ds_pair_t *obj = (php_ds_pair_t*) object;
    zend_object_std_dtor(&obj->std);
    ds_pair_free(obj->pair);
}
Exemplo n.º 25
0
static void ds_set_free_object(zend_object *object)
{
    php_ds_set_t *obj = (php_ds_set_t*) object;
    zend_object_std_dtor(&obj->std);
    ds_set_free(obj->set);
}
Exemplo n.º 26
0
static void php_ds_vector_free_object(zend_object *object)
{
    php_ds_vector_t *obj = (php_ds_vector_t*) object;
    zend_object_std_dtor(&obj->std);
    ds_vector_free(obj->vector);
}
Exemplo n.º 27
0
static void ds_queue_free_object(zend_object *object)
{
    php_ds_queue_t *q = (php_ds_queue_t*) object;
    zend_object_std_dtor(&q->std);
    ds_queue_free(q->queue);
}
Exemplo n.º 28
0
void php_http_object_free(zend_object *object)
{
	zend_object_std_dtor(object);
}
Exemplo n.º 29
0
static void pair_free_object(zend_object *object)
{
    Pair *pair = (Pair*) object;
    zend_object_std_dtor(&pair->std);
    pair_destroy(pair);
}