Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:24078 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 74821 invoked by uid 1010); 10 Jun 2006 13:53:28 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 74806 invoked from network); 10 Jun 2006 13:53:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Jun 2006 13:53:27 -0000 X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:49990] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id B2/C6-30619-6DECA844 for ; Sat, 10 Jun 2006 09:53:27 -0400 Received: from baumbart.mbo (dslb-084-063-027-200.pools.arcor-ip.net [84.63.27.200]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id AA0E535C1E7; Sat, 10 Jun 2006 15:53:22 +0200 (CEST) Date: Sat, 10 Jun 2006 15:53:37 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <1657185233.20060610155337@marcus-boerger.de> To: Stefan Esser Cc: PHP internals In-Reply-To: <448AC13C.6050201@php.net> References: <448AC13C.6050201@php.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] [RFC][PATCH]: hook for compile_string From: helly@php.net (Marcus Boerger) Hello Stefan, i for one appreciate this. best regards marcus Saturday, June 10, 2006, 2:55:24 PM, you wrote: > diff -Nura php-5.2/Zend/zend.c php-5.2-cshook/Zend/zend.c > --- php-5.2/Zend/zend.c 2006-06-05 16:30:49.000000000 +0200 > +++ php-5.2-cshook/Zend/zend.c 2006-06-10 14:51:08.000000000 +0200 > @@ -595,6 +595,7 @@ > zend_vspprintf = utility_functions->vspprintf_function; > zend_getenv = utility_functions->getenv_function; > > + zend_compile_string = compile_string; > zend_compile_file = compile_file; > zend_execute = execute; > zend_execute_internal = NULL; > diff -Nura php-5.2/Zend/zend_compile.c php-5.2-cshook/Zend/zend_compile.c > --- php-5.2/Zend/zend_compile.c 2006-06-07 12:30:53.000000000 +0200 > +++ php-5.2-cshook/Zend/zend_compile.c 2006-06-10 14:50:12.000000000 +0200 > @@ -31,6 +31,7 @@ > #include "zend_multibyte.h" > #endif /* ZEND_MULTIBYTE */ > > +ZEND_API zend_op_array *(*zend_compile_string)(zval *source_string, char *filename TSRMLS_DC); > ZEND_API zend_op_array *(*zend_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC); > > > diff -Nura php-5.2/Zend/zend_compile.h php-5.2-cshook/Zend/zend_compile.h > --- php-5.2/Zend/zend_compile.h 2006-05-27 22:30:48.000000000 +0200 > +++ php-5.2-cshook/Zend/zend_compile.h 2006-06-10 14:50:04.000000000 +0200 > @@ -320,6 +320,7 @@ > void shutdown_compiler(TSRMLS_D); > void zend_init_compiler_data_structures(TSRMLS_D); > > +extern ZEND_API zend_op_array *(*zend_compile_string)(zval > *source_string, char *filename TSRMLS_DC); > extern ZEND_API zend_op_array *(*zend_compile_file)(zend_file_handle *file_handle, int type TSRMLS_DC); > > ZEND_API int lex_scan(zval *zendlval TSRMLS_DC); > diff -Nura php-5.2/Zend/zend_execute_API.c > php-5.2-cshook/Zend/zend_execute_API.c > --- php-5.2/Zend/zend_execute_API.c 2006-06-05 16:30:49.000000000 +0200 > +++ php-5.2-cshook/Zend/zend_execute_API.c 2006-06-10 14:52:17.000000000 +0200 > @@ -1101,7 +1101,7 @@ > > 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 -Nura php-5.2/Zend/zend_vm_def.h php-5.2-cshook/Zend/zend_vm_def.h > --- php-5.2/Zend/zend_vm_def.h 2006-06-08 12:30:48.000000000 +0200 > +++ php-5.2-cshook/Zend/zend_vm_def.h 2006-06-10 14:52:25.000000000 +0200 > @@ -2766,7 +2766,7 @@ > 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 -Nura php-5.2/Zend/zend_vm_execute.h > php-5.2-cshook/Zend/zend_vm_execute.h > --- php-5.2/Zend/zend_vm_execute.h 2006-06-08 12:30:49.000000000 +0200 > +++ php-5.2-cshook/Zend/zend_vm_execute.h 2006-06-10 14:52:12.000000000 +0200 > @@ -1960,7 +1960,7 @@ > 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 @@ > 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 @@ > 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 @@ > 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; Best regards, Marcus