summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2002-06-26 14:24:23 +0000
committerAndi Gutmans <andi@php.net>2002-06-26 14:24:23 +0000
commit28247f572a226c9e58d9c1593e7be8dae8da8bd8 (patch)
tree477fe80a0eab5929ee7ea27313dbd463b203582e
parentf9b21c4b7dbbd2dfd1392ed15acf51fa694bd75c (diff)
downloadphp-git-28247f572a226c9e58d9c1593e7be8dae8da8bd8.tar.gz
- Centralize global class fetch
-rw-r--r--Zend/zend_API.c2
-rw-r--r--Zend/zend_builtin_functions.c7
-rw-r--r--Zend/zend_mm.h2
3 files changed, 6 insertions, 5 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index c0d00c48f8..cfd9159ac3 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -1362,7 +1362,7 @@ zend_bool zend_is_callable(zval *callable, zend_bool syntax_only, char **callabl
lcname = estrndup(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj));
zend_str_tolower(lcname, Z_STRLEN_PP(obj));
- if(zend_hash_find(EG(class_table), lcname, Z_STRLEN_PP(obj) + 1, (void**)&pce) == SUCCESS) {
+ if (zend_lookup_class(lcname, Z_STRLEN_PP(obj), &pce TSRMLS_CC) == SUCCESS) {
ce = *pce;
}
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 0fd566ec60..971b1a4e7a 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -559,7 +559,7 @@ ZEND_FUNCTION(get_parent_class)
SEPARATE_ZVAL(arg);
zend_str_tolower(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg));
- if(zend_hash_find(EG(class_table), Z_STRVAL_PP(arg), Z_STRLEN_PP(arg)+1, (void **)&pce) == SUCCESS) {
+ if (zend_lookup_class(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), &pce TSRMLS_CC) == SUCCESS) {
ce = *pce;
}
}
@@ -647,7 +647,7 @@ ZEND_FUNCTION(get_class_vars)
lcname = estrndup((*class_name)->value.str.val, (*class_name)->value.str.len);
zend_str_tolower(lcname, (*class_name)->value.str.len);
- if (zend_hash_find(EG(class_table), lcname, (*class_name)->value.str.len+1, (void **)&pce) == FAILURE) {
+ if (zend_lookup_class(lcname, Z_STRLEN_PP(class_name), &pce TSRMLS_CC) == FAILURE) {
efree(lcname);
RETURN_FALSE;
} else {
@@ -713,7 +713,8 @@ ZEND_FUNCTION(get_class_methods)
} else if (Z_TYPE_PP(class) == IS_STRING) {
SEPARATE_ZVAL(class);
zend_str_tolower(Z_STRVAL_PP(class), Z_STRLEN_PP(class));
- if(zend_hash_find(EG(class_table), Z_STRVAL_PP(class), Z_STRLEN_PP(class)+1, (void **)&pce) == SUCCESS) {
+
+ if (zend_lookup_class(Z_STRVAL_PP(class), Z_STRLEN_PP(class), &pce TSRMLS_CC) == SUCCESS) {
ce = *pce;
}
}
diff --git a/Zend/zend_mm.h b/Zend/zend_mm.h
index a25ad5f1ec..988015b199 100644
--- a/Zend/zend_mm.h
+++ b/Zend/zend_mm.h
@@ -25,7 +25,7 @@
#include "zend_types.h"
/* Define this to enable Zend MM */
-#undef ZEND_MM
+#define ZEND_MM
/* mm block type */
typedef struct _zend_mm_block {