]> granicus.if.org Git - php/commitdiff
- Centralize global class fetch
authorAndi Gutmans <andi@php.net>
Wed, 26 Jun 2002 14:24:23 +0000 (14:24 +0000)
committerAndi Gutmans <andi@php.net>
Wed, 26 Jun 2002 14:24:23 +0000 (14:24 +0000)
Zend/zend_API.c
Zend/zend_builtin_functions.c
Zend/zend_mm.h

index c0d00c48f83a1bdb7a2610ce7a9ca1de66a0e73e..cfd9159ac384af0cd020058811cb9e2594299a00 100644 (file)
@@ -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;
                                                }
                                                
index 0fd566ec605f43e6544c8c8d5b1b812e87536d25..971b1a4e7a32dd0510746cbd418cec2c91b365b8 100644 (file)
@@ -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;
                }
        }
index a25ad5f1ec490f2df7ddd5ef2478b18461cc0d62..988015b19928a58a6ba74e60cde4d83fd2619562 100644 (file)
@@ -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 {