summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Esser <sesser@php.net>2006-06-13 12:57:48 +0000
committerStefan Esser <sesser@php.net>2006-06-13 12:57:48 +0000
commit7bbf35320d4db531a3ca1ea676773dfde287dc74 (patch)
treedba85f7f49b467076f3361a16434a5cca2c2ff11
parent3ff5fb063167503776ee35fe5c79e8cf39ff8150 (diff)
downloadphp-git-7bbf35320d4db531a3ca1ea676773dfde287dc74.tar.gz
MFH: Added hook for compile_string()
-rw-r--r--Zend/zend.c1
-rw-r--r--Zend/zend_compile.c1
-rw-r--r--Zend/zend_compile.h1
-rw-r--r--Zend/zend_execute_API.c2
-rw-r--r--Zend/zend_vm_def.h2
-rw-r--r--Zend/zend_vm_execute.h8
6 files changed, 9 insertions, 6 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index 63785613c7..2604bd7d43 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -605,6 +605,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 117e5e3d7f..e4dcb93f38 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -32,6 +32,7 @@
#endif /* ZEND_MULTIBYTE */
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 d815579073..ee1c0ada8b 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -321,6 +321,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 e7d78c4029..142cc0e371 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -1101,7 +1101,7 @@ ZEND_API int zend_eval_string(char *str, zval *retval_ptr, char *string_name TSR
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 9b563ee8e2..fb2f5a1e21 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -2766,7 +2766,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 91ebfe3564..e50e292f3c 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -1960,7 +1960,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;
@@ -4460,7 +4460,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;
@@ -7542,7 +7542,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;
@@ -19764,7 +19764,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;