From 08e355e39eea5b310dc2f723a8d8662a2069562e Mon Sep 17 00:00:00 2001 From: Stefan Esser Date: Tue, 13 Jun 2006 12:56:20 +0000 Subject: [PATCH] Added hook for compile_string() --- Zend/zend.c | 1 + Zend/zend_compile.c | 1 + Zend/zend_compile.h | 1 + Zend/zend_execute_API.c | 2 +- Zend/zend_vm_def.h | 2 +- Zend/zend_vm_execute.h | 8 ++++---- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Zend/zend.c b/Zend/zend.c index 693360c582..a15f25a31f 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1004,6 +1004,7 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions, i zend_getenv = utility_functions->getenv_function; zend_compile_file = compile_file; + zend_compile_string = compile_string; zend_execute = execute; zend_execute_internal = NULL; zend_throw_exception_hook = NULL; diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 56c87f86f3..207c4a3f27 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -28,6 +28,7 @@ #include "zend_fast_cache.h" ZEND_API zend_op_array *(*zend_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC); +ZEND_API zend_op_array *(*zend_compile_string)(zval *source_string, char *filename TSRMLS_DC); #ifndef ZTS diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index b8e4a96560..28452d8319 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -326,6 +326,7 @@ void shutdown_compiler(TSRMLS_D); void zend_init_compiler_data_structures(TSRMLS_D); extern ZEND_API zend_op_array *(*zend_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC); +extern ZEND_API zend_op_array *(*zend_compile_string)(zval *source_string, char *filename TSRMLS_DC); ZEND_API int lex_scan(zval *zendlval TSRMLS_DC); void startup_scanner(TSRMLS_D); diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 66739fe392..b94f977a4b 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1192,7 +1192,7 @@ ZEND_API int zend_u_eval_string(zend_uchar type, zstr string, zval *retval_ptr, original_handle_op_arrays = CG(handle_op_arrays); CG(handle_op_arrays) = 0; - new_op_array = compile_string(&pv, string_name TSRMLS_CC); + new_op_array = zend_compile_string(&pv, string_name TSRMLS_CC); CG(handle_op_arrays) = original_handle_op_arrays; if (new_op_array) { diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 1d53ed9fb1..19741ef24c 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2816,7 +2816,7 @@ ZEND_VM_HANDLER(73, ZEND_INCLUDE_OR_EVAL, CONST|TMP|VAR|CV, ANY) case ZEND_EVAL: { char *eval_desc = zend_make_compiled_string_description("eval()'d code" TSRMLS_CC); - new_op_array = compile_string(inc_filename, eval_desc TSRMLS_CC); + new_op_array = zend_compile_string(inc_filename, eval_desc TSRMLS_CC); efree(eval_desc); } break; diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index ba769218be..8d171f2a09 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1927,7 +1927,7 @@ static int ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) case ZEND_EVAL: { char *eval_desc = zend_make_compiled_string_description("eval()'d code" TSRMLS_CC); - new_op_array = compile_string(inc_filename, eval_desc TSRMLS_CC); + new_op_array = zend_compile_string(inc_filename, eval_desc TSRMLS_CC); efree(eval_desc); } break; @@ -4483,7 +4483,7 @@ static int ZEND_INCLUDE_OR_EVAL_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS) case ZEND_EVAL: { char *eval_desc = zend_make_compiled_string_description("eval()'d code" TSRMLS_CC); - new_op_array = compile_string(inc_filename, eval_desc TSRMLS_CC); + new_op_array = zend_compile_string(inc_filename, eval_desc TSRMLS_CC); efree(eval_desc); } break; @@ -7636,7 +7636,7 @@ static int ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) case ZEND_EVAL: { char *eval_desc = zend_make_compiled_string_description("eval()'d code" TSRMLS_CC); - new_op_array = compile_string(inc_filename, eval_desc TSRMLS_CC); + new_op_array = zend_compile_string(inc_filename, eval_desc TSRMLS_CC); efree(eval_desc); } break; @@ -20369,7 +20369,7 @@ static int ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) case ZEND_EVAL: { char *eval_desc = zend_make_compiled_string_description("eval()'d code" TSRMLS_CC); - new_op_array = compile_string(inc_filename, eval_desc TSRMLS_CC); + new_op_array = zend_compile_string(inc_filename, eval_desc TSRMLS_CC); efree(eval_desc); } break; -- 2.50.1