]> granicus.if.org Git - php/commitdiff
- Two new API calls for Derick (retreive CV name and value) by Dmitry
authorAndi Gutmans <andi@php.net>
Sat, 22 Jan 2005 02:29:18 +0000 (02:29 +0000)
committerAndi Gutmans <andi@php.net>
Sat, 22 Jan 2005 02:29:18 +0000 (02:29 +0000)
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_execute.c
Zend/zend_execute.h

index 466748b052b3c6afc50fac134b4308dfa23466a9..b893b12fb1d706cfe038649f2098168ef0cd0647 100644 (file)
@@ -3864,6 +3864,14 @@ int zend_get_class_fetch_type(char *class_name, uint class_name_len)
        }
 }
 
+ZEND_API char* zend_get_compiled_variable_name(zend_op_array *op_array, zend_uint var, int* name_len)
+{
+       if (name_len) {
+               *name_len = op_array->vars[var].name_len;
+       }
+       return op_array->vars[var].name;
+}
+
 /*
  * Local variables:
  * tab-width: 4
index d72a5008e44f513dd62b69d39f8994cd5c6dc3e1..825ffca75899bdb23b45d176ed3055c525248c72 100644 (file)
@@ -319,6 +319,8 @@ ZEND_API void zend_restore_compiled_filename(char *original_compiled_filename TS
 ZEND_API char *zend_get_compiled_filename(TSRMLS_D);
 ZEND_API int zend_get_compiled_lineno(TSRMLS_D);
 
+ZEND_API char* zend_get_compiled_variable_name(zend_op_array *op_array, zend_uint var, int* name_len);
+
 #ifdef ZTS
 const char *zend_get_zendtext(TSRMLS_D);
 int zend_get_zendleng(TSRMLS_D);
index 43479ff46320e7235cc6f8610385f6e9f3e7ec29..4676b317d4561ff0540d4f7ef2a5c1bc10e4d076 100644 (file)
@@ -144,6 +144,11 @@ static inline void zend_pzval_unlock_free_func(zval *z)
 #define CV_OF(i)     (EG(current_execute_data)->CVs[i])
 #define CV_DEF_OF(i) (EG(active_op_array)->vars[i])
 
+ZEND_API zval** zend_get_compiled_variable_value(zend_execute_data *execute_data_ptr, zend_uint var)
+{
+       return execute_data_ptr->CVs[var];
+}
+
 static inline void zend_get_cv_address(zend_compiled_variable *cv, zval ***ptr, temp_variable *Ts TSRMLS_DC)
 {
    zval *new_zval = &EG(uninitialized_zval);
index 76355b21e6e598de36934ed177f31d8c103cc388..7e96ecc39fc955deb447038b6f047162b2eb325b 100644 (file)
@@ -174,6 +174,8 @@ void zend_shutdown_timeout_thread();
  */
 #define Z_OBJ_CLASS_NAME_P(zval) ((zval) && (zval)->type == IS_OBJECT && Z_OBJ_HT_P(zval)->get_class_entry != NULL && Z_OBJ_HT_P(zval)->get_class_entry(zval TSRMLS_CC) ? Z_OBJ_HT_P(zval)->get_class_entry(zval TSRMLS_CC)->name : "")
 
+ZEND_API zval** zend_get_compiled_variable_value(zend_execute_data *execute_data_ptr, zend_uint var);
+
 END_EXTERN_C()
 
 #endif /* ZEND_EXECUTE_H */