mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
API cleanup. Removed unused functions (kept compatibility macros).
This commit is contained in:
parent
e080fb6d92
commit
7eb045d31a
8 changed files with 36 additions and 120 deletions
|
@ -108,65 +108,32 @@ static void ZEND_FASTCALL zend_ast_ref_destroy_wrapper(zend_ast_ref *ast ZEND_FI
|
|||
}
|
||||
#endif
|
||||
|
||||
ZEND_API void _zval_internal_dtor(zval *zvalue ZEND_FILE_LINE_DC)
|
||||
ZEND_API void _zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC) /* {{{ */
|
||||
{
|
||||
switch (Z_TYPE_P(zvalue)) {
|
||||
case IS_STRING:
|
||||
CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue));
|
||||
zend_string_release_ex(Z_STR_P(zvalue), 1);
|
||||
break;
|
||||
case IS_ARRAY:
|
||||
case IS_CONSTANT_AST:
|
||||
case IS_OBJECT:
|
||||
case IS_RESOURCE:
|
||||
zend_error_noreturn(E_CORE_ERROR, "Internal zval's can't be arrays, objects or resources");
|
||||
break;
|
||||
case IS_REFERENCE: {
|
||||
zend_reference *ref = (zend_reference*)Z_REF_P(zvalue);
|
||||
i_zval_ptr_dtor(zval_ptr ZEND_FILE_LINE_RELAY_CC);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
zval_internal_ptr_dtor(&ref->val);
|
||||
free(ref);
|
||||
break;
|
||||
ZEND_API void _zval_internal_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC) /* {{{ */
|
||||
{
|
||||
if (Z_REFCOUNTED_P(zval_ptr)) {
|
||||
zend_refcounted *ref = Z_COUNTED_P(zval_ptr);
|
||||
|
||||
if (GC_DELREF(ref) == 0) {
|
||||
if (Z_TYPE_P(zval_ptr) == IS_STRING) {
|
||||
zend_string *str = (zend_string*)ref;
|
||||
|
||||
CHECK_ZVAL_STRING_REL(str);
|
||||
ZEND_ASSERT(!ZSTR_IS_INTERNED(str));
|
||||
ZEND_ASSERT((GC_FLAGS(str) & IS_STR_PERSISTENT));
|
||||
free(str);
|
||||
} else {
|
||||
zend_error_noreturn(E_CORE_ERROR, "Internal zval's can't be arrays, objects, resources or reference");
|
||||
}
|
||||
case IS_LONG:
|
||||
case IS_DOUBLE:
|
||||
case IS_FALSE:
|
||||
case IS_TRUE:
|
||||
case IS_NULL:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_API void _zval_internal_dtor_for_ptr(zval *zvalue ZEND_FILE_LINE_DC)
|
||||
{
|
||||
switch (Z_TYPE_P(zvalue)) {
|
||||
case IS_STRING:
|
||||
CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue));
|
||||
zend_string_free(Z_STR_P(zvalue));
|
||||
break;
|
||||
case IS_ARRAY:
|
||||
case IS_CONSTANT_AST:
|
||||
case IS_OBJECT:
|
||||
case IS_RESOURCE:
|
||||
zend_error_noreturn(E_CORE_ERROR, "Internal zval's can't be arrays, objects or resources");
|
||||
break;
|
||||
case IS_REFERENCE: {
|
||||
zend_reference *ref = (zend_reference*)Z_REF_P(zvalue);
|
||||
|
||||
zval_internal_ptr_dtor(&ref->val);
|
||||
free(ref);
|
||||
break;
|
||||
}
|
||||
case IS_LONG:
|
||||
case IS_DOUBLE:
|
||||
case IS_FALSE:
|
||||
case IS_TRUE:
|
||||
case IS_NULL:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* This function should only be used as a copy constructor, i.e. it
|
||||
* should only be called AFTER a zval has been copied to another
|
||||
|
@ -183,17 +150,6 @@ ZEND_API void zval_add_ref(zval *p)
|
|||
}
|
||||
}
|
||||
|
||||
ZEND_API void zval_add_ref_unref(zval *p)
|
||||
{
|
||||
if (Z_REFCOUNTED_P(p)) {
|
||||
if (Z_ISREF_P(p)) {
|
||||
ZVAL_COPY(p, Z_REFVAL_P(p));
|
||||
} else {
|
||||
Z_ADDREF_P(p);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_API void ZEND_FASTCALL _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC)
|
||||
{
|
||||
if (EXPECTED(Z_TYPE_P(zvalue) == IS_ARRAY)) {
|
||||
|
@ -206,25 +162,7 @@ ZEND_API void ZEND_FASTCALL _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC)
|
|||
}
|
||||
|
||||
|
||||
ZEND_API size_t zend_print_variable(zval *var)
|
||||
{
|
||||
return zend_print_zval(var, 0);
|
||||
}
|
||||
|
||||
|
||||
ZEND_API void _zval_dtor_wrapper(zval *zvalue)
|
||||
{
|
||||
zval_dtor(zvalue);
|
||||
}
|
||||
|
||||
|
||||
#if ZEND_DEBUG
|
||||
ZEND_API void _zval_internal_dtor_wrapper(zval *zvalue)
|
||||
{
|
||||
zval_internal_dtor(zvalue);
|
||||
}
|
||||
|
||||
|
||||
ZEND_API void _zval_ptr_dtor_wrapper(zval *zval_ptr)
|
||||
{
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue