summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2002-03-12 10:08:47 +0000
committerStanislav Malyshev <stas@php.net>2002-03-12 10:08:47 +0000
commit92dd5e611b897bdca8ba27cbfcdc0fc3d7416c85 (patch)
tree087380223d60df0905009249958346955cb40fc9 /Zend/zend_opcode.c
parentbcdf9b3d4c37f12aaf9072274e74b6702f0d8817 (diff)
downloadphp-git-92dd5e611b897bdca8ba27cbfcdc0fc3d7416c85.tar.gz
- make class tables contain class_entry *, not class_entry
- fix isset($this)
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index 672a55bf8f..6e5ca2aad2 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -106,8 +106,10 @@ ZEND_API void destroy_zend_function(zend_function *function)
}
-ZEND_API void destroy_zend_class(zend_class_entry *ce)
+ZEND_API void destroy_zend_class(zend_class_entry **pce)
{
+ zend_class_entry *ce = *pce;
+
if (--(*ce->refcount)>0) {
return;
}
@@ -122,6 +124,7 @@ ZEND_API void destroy_zend_class(zend_class_entry *ce)
FREE_HASHTABLE(ce->static_members);
zend_hash_destroy(&ce->constants_table);
zend_hash_destroy(&ce->class_table);
+ efree(ce);
break;
case ZEND_INTERNAL_CLASS:
zend_hash_destroy(&ce->default_properties);
@@ -133,6 +136,7 @@ ZEND_API void destroy_zend_class(zend_class_entry *ce)
free(ce->static_members);
zend_hash_destroy(&ce->constants_table);
zend_hash_destroy(&ce->class_table);
+ free(ce);
break;
}
}