--- /dev/null
+--- php-pecl-funcall-0.2.5//funcall.c 2008-11-24 18:05:12.000000000 +0200
++++ funcall/funcall.c 2010-06-03 21:32:41.121023621 +0300
+@@ -11,7 +11,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id$ */
++/* $Id$ */
+
+ /*ZhongGuoRen jia QQ qun:8335498*/
+
+@@ -402,9 +402,13 @@
+ ptr->value.str.val = estrndup(&c, 1);
+ ptr->value.str.len = 1;
+ }
+- PZVAL_UNLOCK_FREE(str);
+- ptr->refcount=1;
++#if ZEND_MODULE_API_NO >= 20071006
++ ptr->is_ref__gc=1;
++ ptr->refcount__gc=1;
++#else
+ ptr->is_ref=1;
++ ptr->refcount=1;
++#endif
+ ptr->type = IS_STRING;
+ return ptr;
+ }
+@@ -417,24 +421,24 @@
+ zend_op *opline = execute_data->opline;
+ zval *tmp_filename=NULL;
+ switch (opline->op1.op_type) {
+- case IS_CONST:
++ case IS_CONST://'a.php'
+ tmp_filename = &opline->op1.u.constant;
+ MAKE_STD_ZVAL(inc_filename);
+ ZVAL_STRING(inc_filename,Z_STRVAL_P(tmp_filename),1);
+ break;
+- case IS_TMP_VAR:
++ case IS_TMP_VAR://$a.$b
+ tmp_filename = fc_get_zval_ptr_tmp(&opline->op1, execute_data->Ts TSRMLS_CC);
+ MAKE_STD_ZVAL(inc_filename);
+ ZVAL_STRING(inc_filename,Z_STRVAL_P(tmp_filename),1);
+ break;
+- case IS_CV:
++ case IS_CV://$a
+ tmp_filename = fc_get_zval_ptr_cv(&opline->op1 TSRMLS_CC);
+ //zend_printf("ttttt%d",Z_STRLEN_P(inc_filename));
+ MAKE_STD_ZVAL(inc_filename);
+ ZVAL_STRING(inc_filename,Z_STRVAL_P(tmp_filename),1);
+ //ZVAL_STRING(inc_filename,"NONE",1);
+ break;
+- case IS_VAR:
++ case IS_VAR://a()
+ tmp_filename = fc_get_zval_ptr_var(&opline->op1, execute_data->Ts TSRMLS_CC);
+ MAKE_STD_ZVAL(inc_filename);
+ ZVAL_STRING(inc_filename,Z_STRVAL_P(tmp_filename),1);
+@@ -638,6 +642,9 @@
+
+
+ #if ZEND_MODULE_API_NO >= 20071006
++ //fprintf(stderr,"test001\n");
++ //args[1] = EG(return_value_ptr_ptr);
++ //fprintf(stderr,"test002%d\n",*args[1]);
+ //zend_execute_data *ex = EG(current_execute_data);
+ //fprintf(stderr,"test440%s\n",ex->function_state.function->common.function_name);
+ //zval **rv = ex->original_return_value;
+--- php-pecl-funcall-0.2.5//package.xml 2008-11-24 18:05:12.000000000 +0200
++++ funcall/package.xml 2010-06-03 21:32:41.121023621 +0300
+@@ -1,17 +1,20 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+-<package packagerversion="1.7.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
++<package packagerversion="1.6.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
++http://pear.php.net/dtd/tasks-1.0.xsd
++http://pear.php.net/dtd/package-2.0
++http://pear.php.net/dtd/package-2.0.xsd">
+ <name>funcall</name>
+ <channel>pecl.php.net</channel>
+ <summary>Add callbacks for any function/method</summary>
+- <description>Call callbacks before or after specified functions/methods being called.</description>
++ <description>Call callbacks before or after specified functions/methods being called.
++ </description>
+ <lead>
+ <name>Surf Chen</name>
+ <user>surfchen</user>
+ <email>surfchen@gmail.com</email>
+ <active>yes</active>
+ </lead>
+- <date>2008-11-25</date>
+- <time>00:05:12</time>
++ <date>2008-11-24</date>
+ <version>
+ <release>0.2.5</release>
+ <api>0.2</api>
+@@ -21,21 +24,25 @@
+ <api>stable</api>
+ </stability>
+ <license>New BSD</license>
+- <notes>add eval support
+-fixed bugs about include*/require*</notes>
++ <notes>
++ add eval support
++ fixed bugs about include*/require*
++ </notes>
+ <contents>
+ <dir name="/">
+- <file md5sum="c9e6511c5e977e5d91167486d4698552" name="tests/function.phpt" role="test" />
+- <file md5sum="9ccb3f4906fa04041136251846cda72f" name="tests/method.phpt" role="test" />
+- <file md5sum="400b46f8354fd8002f09b082310ce2cb" name="config.m4" role="src" />
+- <file md5sum="a2fad553332585a079fef7c5635cfb2e" name="config.w32" role="src" />
+- <file md5sum="373fb873c3624cddf325a91a0680f243" name="funcall.c" role="src" />
+- <file md5sum="29e3a01d874f53e2a2032fd889172e18" name="php_funcall.h" role="src" />
+- <file md5sum="a0648328e44630bf905b8cfeaaaaa60d" name="funcall.php" role="doc" />
+- <file md5sum="616ccc3b483bfbe6067445ef9f6ff05c" name="LICENSE" role="doc" />
+- <file md5sum="55ee6a4cf5e69f99377118ff877d5820" name="INSTALL" role="doc" />
+- <file md5sum="9da535f67320a4812d1485482cb80217" name="TODO" role="doc" />
+- </dir>
++ <dir name="tests">
++ <file name="function.phpt" role="test" />
++ <file name="method.phpt" role="test" />
++ </dir> <!-- //tests -->
++ <file name="config.m4" role="src" />
++ <file name="config.w32" role="src" />
++ <file name="funcall.c" role="src" />
++ <file name="php_funcall.h" role="src" />
++ <file name="funcall.php" role="doc" />
++ <file name="LICENSE" role="doc" />
++ <file name="INSTALL" role="doc" />
++ <file name="TODO" role="doc" />
++ </dir> <!-- / -->
+ </contents>
+ <dependencies>
+ <required>
+@@ -61,8 +68,10 @@
+ </stability>
+ <date>2008-11-24</date>
+ <license>New BSD</license>
+- <notes>add eval support
+-fixed bugs about include*/require*</notes>
++ <notes>
++ add eval support
++ fixed bugs about include*/require*
++ </notes>
+ </release>
+ </changelog>
+ </package>