From 553cb7a0e0dcd687f957bceea08f09d8bc328d99 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 29 May 2015 08:07:44 +0200 Subject: php-pecl-phk: 3.0.0 (beta) --- REFLECTION | 662 +++++++++++++++++++++++++++++++++ phk-pr1.patch | 36 -- phk-pr2.patch | 1048 ----------------------------------------------------- phk-pr3.patch | 27 -- php-pecl-phk.spec | 16 +- 5 files changed, 666 insertions(+), 1123 deletions(-) create mode 100644 REFLECTION delete mode 100644 phk-pr1.patch delete mode 100644 phk-pr2.patch delete mode 100644 phk-pr3.patch diff --git a/REFLECTION b/REFLECTION new file mode 100644 index 0000000..441dbf0 --- /dev/null +++ b/REFLECTION @@ -0,0 +1,662 @@ +Extension [ extension #16 phk version 3.0.0 ] { + + - Constants [1] { + Constant [ string PHK_ACCEL_VERSION ] { 3.0.0 } + } + + - Functions { + Function [ function Automap\Ext\file_get_contents ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + Function [ function Automap\Ext\parseTokens ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + } + + - Classes [5] { + Class [ class Automap\Mgr ] { + + - Constants [10] { + Constant [ string T_FUNCTION ] { F } + Constant [ string T_CONSTANT ] { C } + Constant [ string T_CLASS ] { L } + Constant [ string T_EXTENSION ] { E } + Constant [ string F_SCRIPT ] { S } + Constant [ string F_EXTENSION ] { X } + Constant [ string F_PACKAGE ] { P } + Constant [ integer NO_AUTOLOAD ] { 1 } + Constant [ integer CRC_CHECK ] { 2 } + Constant [ integer PECL_LOAD ] { 4 } + } + + - Static properties [0] { + } + + - Static methods [19] { + Method [ static public method registerFailureHandler ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method registerSuccessHandler ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method typeToString ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method stringToType ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method isActiveID ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method &map ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method activeIDs ] { + + - Parameters [0] { + } + } + + Method [ static public method load ] { + + - Parameters [2] { + Parameter #0 [ $path ] + Parameter #1 [ $flags ] + } + } + + Method [ static public method unload ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method usingAccelerator ] { + + - Parameters [0] { + } + } + + Method [ static public method autoloadHook ] { + + - Parameters [2] { + Parameter #0 [ $symbol ] + Parameter #1 [ $type ] + } + } + + Method [ static public method getFunction ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method getConstant ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method getClass ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method getExtension ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method requireFunction ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method requireConstant ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method requireClass ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method requireExtension ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + } + + - Properties [0] { + } + + - Methods [1] { + Method [ private method __construct ] { + + - Parameters [0] { + } + } + } + } + + Class [ class PHK\Cache ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [6] { + Method [ static public method cachePresent ] { + + - Parameters [0] { + } + } + + Method [ static public method cacheName ] { + + - Parameters [0] { + } + } + + Method [ static public method cacheID ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + + Method [ static public method setCacheMaxSize ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method get ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method set ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + } + + - Properties [0] { + } + + - Methods [0] { + } + } + + Class [ class PHK\Stream\Wrapper ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [1] { + Method [ static public method getFile ] { + + - Parameters [7] { + Parameter #0 [ $dir ] + Parameter #1 [ $uri ] + Parameter #2 [ $mnt ] + Parameter #3 [ $command ] + Parameter #4 [ array or NULL $params ] + Parameter #5 [ $path ] + Parameter #6 [ $cache ] + } + } + } + + - Properties [0] { + } + + - Methods [0] { + } + } + + Class [ class PHK\Mgr ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [20] { + Method [ static public method isMounted ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method validate ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method &instance ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method &proxy ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method mntList ] { + + - Parameters [0] { + } + } + + Method [ static public method setCache ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method pathToMnt ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method &mount ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + + Method [ static public method umount ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method uri ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + + Method [ static public method isPhkUri ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method &baseURI ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method commandURI ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + + Method [ static public method sectionURI ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + + Method [ static public method &automapURI ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method normalizeURI ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method uriToMnt ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method topLevelPath ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method checkPhpVersion ] { + + - Parameters [0] { + } + } + + Method [ static public method mimeHeader ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + } + + - Properties [0] { + } + + - Methods [0] { + } + } + + Class [ class PHK ] { + + - Constants [4] { + Constant [ string VERSION ] { 3.0.0 } + Constant [ integer CRC_CHECK ] { 16 } + Constant [ integer NO_MOUNT_SCRIPT ] { 32 } + Constant [ integer IS_CREATOR ] { 64 } + } + + - Static properties [0] { + } + + - Static methods [8] { + Method [ static public method needPhpRuntime ] { + + - Parameters [0] { + } + } + + Method [ static public method fileIsPackage ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method dataIsPackage ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method acceleratorIsPresent ] { + + - Parameters [0] { + } + } + + Method [ static public method subpathURL ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ static public method setSubpath ] { + + - Parameters [0] { + } + } + + Method [ static public method prolog ] { + + - Parameters [3] { + Parameter #0 [ $file ] + Parameter #1 [ &$cmd ] + Parameter #2 [ &$ret ] + } + } + + Method [ static public method accelTechInfo ] { + + - Parameters [0] { + } + } + } + + - Properties [1] { + Property [ private $m ] + } + + - Methods [23] { + Method [ public method mapDefined ] { + + - Parameters [0] { + } + } + + Method [ public method setCache ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ public method &mnt ] { + + - Parameters [0] { + } + } + + Method [ public method &flags ] { + + - Parameters [0] { + } + } + + Method [ public method &path ] { + + - Parameters [0] { + } + } + + Method [ public method &mtime ] { + + - Parameters [0] { + } + } + + Method [ public method &options ] { + + - Parameters [0] { + } + } + + Method [ public method &baseURI ] { + + - Parameters [0] { + } + } + + Method [ public method uri ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ public method sectionURI ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ public method commandURI ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ public method &automapURI ] { + + - Parameters [0] { + } + } + + Method [ public method automapID ] { + + - Parameters [0] { + } + } + + Method [ public method &option ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ public method &parentMnt ] { + + - Parameters [0] { + } + } + + Method [ public method webTunnel ] { + + - Parameters [0] { + } + } + + Method [ public method mimeHeader ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ public method &mimeType ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ public method isPHPSourcePath ] { + + - Parameters [1] { + Parameter #0 [ $arg1 ] + } + } + + Method [ public method &proxy ] { + + - Parameters [0] { + } + } + + Method [ public method &plugin ] { + + - Parameters [0] { + } + } + + Method [ public method &buildInfo ] { + + - Parameters [0] { + } + } + + Method [ public method __call ] { + + - Parameters [2] { + Parameter #0 [ $arg1 ] + Parameter #1 [ $arg2 ] + } + } + } + } + } +} + diff --git a/phk-pr1.patch b/phk-pr1.patch deleted file mode 100644 index 01b1c86..0000000 --- a/phk-pr1.patch +++ /dev/null @@ -1,36 +0,0 @@ -From fcc79f64fdae2a4fa6b02dca0310aef7749501c7 Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Thu, 28 May 2015 17:53:39 +0200 -Subject: [PATCH] fix for PHP 5.5 - ---- - php_phk.h | 2 +- - utils.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/php_phk.h b/php_phk.h -index d938dd8..e455e26 100644 ---- a/php_phk.h -+++ b/php_phk.h -@@ -106,7 +106,7 @@ - #include "PHK_Mgr.h" - #include "PHK.h" - --#if ZEND_EXTENSION_API_NO >= PHP_5_5_X_API_NO -+#if ZEND_EXTENSION_API_NO >= PHP_5_6_X_API_NO - #include "zend_virtual_cwd.h" - #else - #include "TSRM/tsrm_virtual_cwd.h" -diff --git a/utils.c b/utils.c -index 727aee8..7ba6c23 100644 ---- a/utils.c -+++ b/utils.c -@@ -48,7 +48,7 @@ - #include "SAPI.h" - #include "php_streams.h" - --#if ZEND_EXTENSION_API_NO >= PHP_5_5_X_API_NO -+#if ZEND_EXTENSION_API_NO >= PHP_5_6_X_API_NO - #include "zend_virtual_cwd.h" - #else - #include "TSRM/tsrm_virtual_cwd.h" diff --git a/phk-pr2.patch b/phk-pr2.patch deleted file mode 100644 index ac958a1..0000000 --- a/phk-pr2.patch +++ /dev/null @@ -1,1048 +0,0 @@ -From 3816db8b6a37921b505e621ef16e13db7ae7bceb Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Thu, 28 May 2015 18:40:51 +0200 -Subject: [PATCH] fix ZTS build - ---- - Automap_Class.c | 2 +- - Automap_Handlers.c | 12 ++--- - Automap_Loader.c | 6 +-- - Automap_Mnt.c | 18 +++---- - Automap_Mnt.h | 2 +- - Automap_Parser.c | 2 +- - Automap_Pmap.c | 26 +++++----- - Automap_Pmap.h | 4 +- - PHK.c | 22 ++++---- - PHK_Cache.c | 6 +-- - PHK_Mgr.c | 144 ++++++++++++++++++++++++++--------------------------- - PHK_Mgr.h | 4 +- - PHK_Stream.c | 56 ++++++++++----------- - PHK_Stream.h | 2 +- - utils.c | 40 +++++++-------- - utils.h | 20 ++++---- - 16 files changed, 181 insertions(+), 185 deletions(-) - -diff --git a/Automap_Class.c b/Automap_Class.c -index b14d102..a9edbe5 100644 ---- a/Automap_Class.c -+++ b/Automap_Class.c -@@ -36,7 +36,7 @@ static zval *Automap_map_object_by_mp(Automap_Mnt *mp TSRMLS_DC) - args[1]=flags_zp; - mp->map_object=ut_new_instance(ZEND_STRL("Automap\\Map"), YES, 2 - , args TSRMLS_CC); -- ut_ezval_ptr_dtor(&flags_zp); -+ ut_ezval_ptr_dtor(&flags_zp TSRMLS_CC); - } - - return mp->map_object; -diff --git a/Automap_Handlers.c b/Automap_Handlers.c -index 90da44c..a1f0337 100644 ---- a/Automap_Handlers.c -+++ b/Automap_Handlers.c -@@ -57,8 +57,8 @@ static void Automap_callFailureHandlers(char type, char *symbol, int slen TSRMLS - ,Z_STRLEN_P(PHK_G(automap_failureHandlers)[i]) - ,2 ,args TSRMLS_CC); - } -- ut_ezval_ptr_dtor(&ztype); -- ut_ezval_ptr_dtor(&zsymbol); -+ ut_ezval_ptr_dtor(&ztype TSRMLS_CC); -+ ut_ezval_ptr_dtor(&zsymbol TSRMLS_CC); - } - } - -@@ -103,8 +103,8 @@ static void Automap_callSuccessHandlers(Automap_Mnt *mp - ,Z_STRLEN_P(PHK_G(automap_successHandlers)[i]) - ,2,args TSRMLS_CC); - } -- ut_ezval_ptr_dtor(&entry_zp); -- ut_ezval_ptr_dtor(&id_zp); -+ ut_ezval_ptr_dtor(&entry_zp TSRMLS_CC); -+ ut_ezval_ptr_dtor(&id_zp TSRMLS_CC); - } - } - -@@ -141,7 +141,7 @@ static int RSHUTDOWN_Automap_Handlers(TSRMLS_D) - - if (PHK_G(automap_fh_count)) { - for (i=0;iid); -- ut_ezval_ptr_dtor(&zkey); -+ ut_ezval_ptr_dtor(&zkey TSRMLS_CC); - return SUCCESS; - } - } -@@ -94,7 +94,7 @@ static int Automap_resolve_symbol(char type, char *symbol, int slen, int autoloa - THROW_EXCEPTION_2("Automap: Unknown %s: %s",ts,symbol); - } - -- ut_ezval_ptr_dtor(&zkey); -+ ut_ezval_ptr_dtor(&zkey TSRMLS_CC); - return FAILURE; - } - -diff --git a/Automap_Mnt.c b/Automap_Mnt.c -index b9a6aed..28442e2 100644 ---- a/Automap_Mnt.c -+++ b/Automap_Mnt.c -@@ -20,12 +20,10 @@ - /* Here, we check every pointers because the function can be called during - the creation of the structure (load failure) */ - --static void Automap_Mnt_dtor(Automap_Mnt *mp) -+static void Automap_Mnt_dtor(Automap_Mnt *mp TSRMLS_DC) - { -- TSRMLS_FETCH(); -- -- ut_ezval_ptr_dtor(&(mp->map_object)); -- ut_ezval_ptr_dtor(&(mp->zpath)); -+ ut_ezval_ptr_dtor(&(mp->map_object) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->zpath) TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -@@ -33,7 +31,7 @@ static void Automap_Mnt_dtor(Automap_Mnt *mp) - static void Automap_Mnt_remove(Automap_Mnt *mp TSRMLS_DC) - { - PHK_G(map_array)[mp->id]=NULL; -- Automap_Mnt_dtor(mp); -+ Automap_Mnt_dtor(mp TSRMLS_CC); - EALLOCATE(mp,0); - } - -@@ -112,7 +110,7 @@ static Automap_Mnt *Automap_Mnt_load_extended(zval *zpathp, zval *zufidp - ZVAL_STRINGL(mp->zpath,Z_STRVAL_P(zpathp),Z_STRLEN_P(zpathp),1); - mp->flags=flags; - -- Automap_Mnt_array_add(mp); -+ Automap_Mnt_array_add(mp TSRMLS_CC); - return mp; - } - -@@ -138,7 +136,7 @@ static Automap_Mnt *Automap_Mnt_load(zval *zpathp, long flags TSRMLS_DC) - ZVAL_STRINGL(zapathp, p, len, 0); - - if (!(pmp=Automap_Pmap_get_or_create(zapathp, flags TSRMLS_CC))) { -- ut_ezval_ptr_dtor(&zapathp); -+ ut_ezval_ptr_dtor(&zapathp TSRMLS_CC); - return NULL; - } - -@@ -151,7 +149,7 @@ static Automap_Mnt *Automap_Mnt_load(zval *zpathp, long flags TSRMLS_DC) - mp->zpath=zapathp; - mp->flags=flags; - -- Automap_Mnt_array_add(mp); -+ Automap_Mnt_array_add(mp TSRMLS_CC); - return mp; - } - -@@ -331,7 +329,7 @@ static int RSHUTDOWN_Automap_Mnt(TSRMLS_D) - if (PHK_G(map_count) > 1) { - for (i=1;izsymbols)); -+ ut_pzval_ptr_dtor(&(pmp->zsymbols) TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ - --static void Automap_Pmap_Entry_dtor(Automap_Pmap_Entry *pep) -+static void Automap_Pmap_Entry_dtor(Automap_Pmap_Entry *pep TSRMLS_DC) - { -- ut_pzval_dtor(&(pep->zsname)); -- ut_pzval_dtor(&(pep->zfapath)); -+ ut_pzval_dtor(&(pep->zsname) TSRMLS_CC); -+ ut_pzval_dtor(&(pep->zfapath) TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -diff --git a/Automap_Pmap.h b/Automap_Pmap.h -index 95ac6aa..080383d 100644 ---- a/Automap_Pmap.h -+++ b/Automap_Pmap.h -@@ -51,8 +51,8 @@ static Automap_Pmap *Automap_Pmap_get_or_create(zval *zapathp - , long flags TSRMLS_DC); - static Automap_Pmap *Automap_Pmap_get_or_create_extended(zval *zpathp - , zval *zufidp, ulong hash, zval *zbasePathp_arg, long flags TSRMLS_DC); --static void Automap_Pmap_dtor(Automap_Pmap *pmp); --static void Automap_Pmap_Entry_dtor(Automap_Pmap_Entry *pep); -+static void Automap_Pmap_dtor(Automap_Pmap *pmp TSRMLS_DC); -+static void Automap_Pmap_Entry_dtor(Automap_Pmap_Entry *pep TSRMLS_DC); - static Automap_Pmap_Entry *Automap_Pmap_find_key(Automap_Pmap *pmp - , zval *zkey, ulong hash TSRMLS_DC); - static void Automap_Pmap_exportEntry(Automap_Pmap_Entry *pep, zval *zp TSRMLS_DC); -diff --git a/PHK.c b/PHK.c -index 40bcbeb..128df2b 100644 ---- a/PHK.c -+++ b/PHK.c -@@ -147,7 +147,7 @@ static PHP_METHOD(PHK, setCache) - FAILURE) EXCEPTION_ABORT("Cannot parse parameters"); - - SEPARATE_ARG_IF_REF(zp); -- ut_ezval_ptr_dtor(&(mp->caching)); -+ ut_ezval_ptr_dtor(&(mp->caching) TSRMLS_CC); - mp->caching = zp; - } - -@@ -203,7 +203,7 @@ static int PHK_cacheEnabled(PHK_Mnt * mp, zval * command, - - static void PHK_umount(PHK_Mnt * mp TSRMLS_DC) - { -- if (mp->plugin) ut_ezval_ptr_dtor(&(mp->plugin)); -+ if (mp->plugin) ut_ezval_ptr_dtor(&(mp->plugin) TSRMLS_CC); - - if (mp->umount_script_uri - && (!(Z_LVAL_P(mp->flags) & PHK_FLAG_NO_MOUNT_SCRIPT))) { -@@ -212,7 +212,7 @@ static void PHK_umount(PHK_Mnt * mp TSRMLS_DC) - } - - if (mp->automapURI) { -- Automap_unload(mp->automapID); -+ Automap_unload(mp->automapID TSRMLS_CC); - } - } - -@@ -409,7 +409,7 @@ static char *gotoMain(PHK_Mnt * mp TSRMLS_DC) - MAKE_STD_ZVAL(zp); - PHK_Mgr_uri(mp->mnt, mp->web_run_script, zp TSRMLS_CC); - spprintf(&p, 1024, "require('%s');", Z_STRVAL_P(zp)); -- ut_ezval_ptr_dtor(&zp); -+ ut_ezval_ptr_dtor(&zp TSRMLS_CC); - } - return p; - } -@@ -419,8 +419,8 @@ static char *gotoMain(PHK_Mnt * mp TSRMLS_DC) - - #define CLEANUP_WEB_TUNNEL() \ - { \ -- ut_ezval_ptr_dtor(&tpath); \ -- ut_ezval_ptr_dtor(&uri); \ -+ ut_ezval_ptr_dtor(&tpath TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&uri TSRMLS_CC); \ - } - - static char *webTunnel(PHK_Mnt * mp, zval * path, -@@ -563,7 +563,7 @@ static void PHK_mimeHeader(PHK_Mnt * mp, zval * path TSRMLS_DC) - EALLOCATE(p,0); - } - -- ut_ezval_ptr_dtor(&type); -+ ut_ezval_ptr_dtor(&type TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -@@ -592,7 +592,7 @@ static void PHK_mimeType(zval *ret, PHK_Mnt * mp, zval * path TSRMLS_DC) - { - zval *suffix, **zpp; - -- ut_ezval_dtor(ret); -+ ut_ezval_dtor(ret TSRMLS_CC); - INIT_PZVAL(ret); - - ALLOC_INIT_ZVAL(suffix); -@@ -617,7 +617,7 @@ static void PHK_mimeType(zval *ret, PHK_Mnt * mp, zval * path TSRMLS_DC) - } - } - -- ut_ezval_ptr_dtor(&suffix); -+ ut_ezval_ptr_dtor(&suffix TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -@@ -650,7 +650,7 @@ static int PHK_isPHPSourcePath(PHK_Mnt * mp, zval * path TSRMLS_DC) - if (ZVAL_IS_STRING(type) && (Z_STRLEN_P(type)==23) - && (!memcmp(Z_STRVAL_P(type),"application/x-httpd-php",23))) res=1; - -- ut_ezval_ptr_dtor(&type); -+ ut_ezval_ptr_dtor(&type TSRMLS_CC); - return res; - } - -@@ -1043,7 +1043,7 @@ static inline void init_mimeTable(TSRMLS_D) - - static void shutdown_mimeTable(TSRMLS_D) - { -- ut_ezval_ptr_dtor(&PHK_G(mimeTable)); -+ ut_ezval_ptr_dtor(&PHK_G(mimeTable) TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -diff --git a/PHK_Cache.c b/PHK_Cache.c -index 69354d3..f9b9fdd 100644 ---- a/PHK_Cache.c -+++ b/PHK_Cache.c -@@ -114,7 +114,7 @@ static void PHK_Cache_cacheID(const char *prefix, int prefix_len, const char *ke - memmove(p + prefix_len + 9, key, key_len); - p[prefix_len + key_len + 9] = '\0'; - -- ut_ezval_dtor(z_ret_p); -+ ut_ezval_dtor(z_ret_p TSRMLS_CC); - ZVAL_STRINGL(z_ret_p, p, len, 0); - } - -@@ -154,7 +154,7 @@ static PHP_METHOD(PHK_Cache, setCacheMaxSize) - - static void PHK_Cache_get(zval * z_key_p, zval * z_ret_p TSRMLS_DC) - { -- ut_ezval_dtor(z_ret_p); -+ ut_ezval_dtor(z_ret_p TSRMLS_CC); - - if (!cache) return; - -@@ -220,7 +220,7 @@ static void PHK_Cache_set(zval * z_key_p, zval * z_data_p TSRMLS_DC) - ut_call_user_function_void(NULL, cache->set_funcname_string - ,cache->set_funcname_len, 3, args TSRMLS_CC); - -- ut_ezval_ptr_dtor(&ttl); -+ ut_ezval_ptr_dtor(&ttl TSRMLS_CC); - } - } - -diff --git a/PHK_Mgr.c b/PHK_Mgr.c -index 3b2e70b..66c7935 100644 ---- a/PHK_Mgr.c -+++ b/PHK_Mgr.c -@@ -44,13 +44,11 @@ static void PHK_Mgr_shutdown_pdata(TSRMLS_D) - ut_ezval_ptr_dtor() handles this case. - */ - --static void PHK_Mgr_mnt_dtor(PHK_Mnt * mp) -+static void PHK_Mgr_mnt_dtor(PHK_Mnt * mp TSRMLS_DC) - { -- TSRMLS_FETCH(); -- - EALLOCATE(mp->children,0); - -- ut_ezval_ptr_dtor(&(mp->mnt)); -+ ut_ezval_ptr_dtor(&(mp->mnt) TSRMLS_CC); - - if (mp->instance) /* Invalidate object */ - { -@@ -58,31 +56,31 @@ static void PHK_Mgr_mnt_dtor(PHK_Mnt * mp) - ,sizeof(PHK_MP_PROPERTY_NAME)); - } - -- ut_ezval_ptr_dtor(&(mp->instance)); -- ut_ezval_ptr_dtor(&(mp->proxy)); -- ut_ezval_ptr_dtor(&(mp->path)); -- ut_ezval_ptr_dtor(&(mp->plugin)); -- ut_ezval_ptr_dtor(&(mp->flags)); -- ut_ezval_ptr_dtor(&(mp->caching)); -- ut_ezval_ptr_dtor(&(mp->mtime)); -- ut_ezval_ptr_dtor(&(mp->backend)); -- -- ut_ezval_ptr_dtor(&(mp->minVersion)); -- ut_ezval_ptr_dtor(&(mp->options)); -- ut_ezval_ptr_dtor(&(mp->buildInfo)); -- ut_ezval_ptr_dtor(&(mp->mime_types)); -- ut_ezval_ptr_dtor(&(mp->web_run_script)); -- ut_ezval_ptr_dtor(&(mp->plugin_class)); -- ut_ezval_ptr_dtor(&(mp->web_access)); -- ut_ezval_ptr_dtor(&(mp->min_php_version)); -- ut_ezval_ptr_dtor(&(mp->max_php_version)); -- -- ut_ezval_ptr_dtor(&(mp->baseURI)); -- ut_ezval_ptr_dtor(&(mp->automapURI)); -- ut_ezval_ptr_dtor(&(mp->mount_script_uri)); -- ut_ezval_ptr_dtor(&(mp->umount_script_uri)); -- ut_ezval_ptr_dtor(&(mp->lib_run_script_uri)); -- ut_ezval_ptr_dtor(&(mp->cli_run_command)); -+ ut_ezval_ptr_dtor(&(mp->instance) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->proxy) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->path) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->plugin) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->flags) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->caching) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->mtime) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->backend) TSRMLS_CC); -+ -+ ut_ezval_ptr_dtor(&(mp->minVersion) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->options) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->buildInfo) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->mime_types) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->web_run_script) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->plugin_class) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->web_access) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->min_php_version) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->max_php_version) TSRMLS_CC); -+ -+ ut_ezval_ptr_dtor(&(mp->baseURI) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->automapURI) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->mount_script_uri) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->umount_script_uri) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->lib_run_script_uri) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&(mp->cli_run_command) TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -@@ -774,19 +772,19 @@ static void PHK_Mgr_pathToMnt(zval * path, zval * mnt TSRMLS_DC) - tmp_mnt=NULL; - PHK_Mgr_computeMnt(path, NULL, &tmp_mnt, NULL TSRMLS_CC); - if (EG(exception)) { -- ut_ezval_ptr_dtor(&tmp_mnt); -+ ut_ezval_ptr_dtor(&tmp_mnt TSRMLS_CC); - return; - } - - PHK_Mgr_get_mnt(tmp_mnt, 0, 1 TSRMLS_CC); - if (EG(exception)) { -- ut_ezval_ptr_dtor(&tmp_mnt); -+ ut_ezval_ptr_dtor(&tmp_mnt TSRMLS_CC); - return; - } - - ZVAL_COPY_VALUE(mnt,tmp_mnt); - zval_copy_ctor(mnt); -- ut_ezval_ptr_dtor(&tmp_mnt); -+ ut_ezval_ptr_dtor(&tmp_mnt TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -@@ -904,8 +902,8 @@ static long PHK_Mgr_mount_from_Automap(zval * path, long flags TSRMLS_DC) - - #define CLEANUP_PHK_MGR_MOUNT() \ - { \ -- ut_ezval_ptr_dtor(&mnt); \ -- ut_ezval_ptr_dtor(&mtime); \ -+ ut_ezval_ptr_dtor(&mnt TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&mtime TSRMLS_CC); \ - } - - #define RETURN_FROM_PHK_MGR_MOUNT(_ret) \ -@@ -1078,9 +1076,9 @@ static PHK_Pdata *PHK_Mgr_get_pdata( - - #define CLEANUP_PHK_GET_OR_CREATE_PERSISTENT_DATA() \ - { \ -- ut_ezval_ptr_dtor(&minVersion); \ -- ut_ezval_ptr_dtor(&options); \ -- ut_ezval_ptr_dtor(&buildInfo); \ -+ ut_ezval_ptr_dtor(&minVersion TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&options TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&buildInfo TSRMLS_CC); \ - } - - #define RETURN_FROM_PHK_GET_OR_CREATE_PERSISTENT_DATA(_ret) \ -@@ -1127,7 +1125,7 @@ static PHK_Pdata *PHK_Mgr_get_or_create_pdata(zval * mnt, - args[1] = ztmp; - ut_call_user_function_string(NULL - , ZEND_STRL("PHK\\Tools\\Util::getMinVersion"), minVersion,2, args TSRMLS_CC); -- ut_ezval_ptr_dtor(&ztmp); -+ ut_ezval_ptr_dtor(&ztmp TSRMLS_CC); - if (EG(exception)) ABORT_PHK_GET_OR_CREATE_PERSISTENT_DATA(); - - /* Check minVersion */ -@@ -1142,7 +1140,7 @@ static PHK_Pdata *PHK_Mgr_get_or_create_pdata(zval * mnt, - args[1] = ztmp; - ut_call_user_function_array(NULL - , ZEND_STRL("PHK\\Tools\\Util::getOptions"), options, 2, args TSRMLS_CC); -- ut_ezval_ptr_dtor(&ztmp); -+ ut_ezval_ptr_dtor(&ztmp TSRMLS_CC); - if (EG(exception)) ABORT_PHK_GET_OR_CREATE_PERSISTENT_DATA(); - - /* Check that the required extensions are present or can be loaded */ -@@ -1183,14 +1181,14 @@ static PHK_Pdata *PHK_Mgr_get_or_create_pdata(zval * mnt, - - entry->ctime = time(NULL); - -- entry->minVersion=ut_persist_zval(minVersion); -+ entry->minVersion=ut_persist_zval(minVersion TSRMLS_CC); - -- entry->options=ut_persist_zval(options); -+ entry->options=ut_persist_zval(options TSRMLS_CC); - opt_ht = Z_ARRVAL_P(entry->options); - - ut_call_user_function_array(NULL - , ZEND_STRL("PHK\\Tools\\Util::getBuildInfo"), buildInfo, 2, args TSRMLS_CC); -- entry->buildInfo=ut_persist_zval(buildInfo); -+ entry->buildInfo=ut_persist_zval(buildInfo TSRMLS_CC); - - /* Set shortcuts */ - -@@ -1234,39 +1232,39 @@ static PHK_Pdata *PHK_Mgr_get_or_create_pdata(zval * mnt, - - ALLOC_INIT_ZVAL(ztmp); - compute_baseURI(mnt, ztmp TSRMLS_CC); -- entry->baseURI=ut_persist_zval(ztmp); -- ut_ezval_ptr_dtor(&ztmp); -+ entry->baseURI=ut_persist_zval(ztmp TSRMLS_CC); -+ ut_ezval_ptr_dtor(&ztmp TSRMLS_CC); - - if ((FIND_HKEY(Z_ARRVAL_P(entry->buildInfo), map_defined, &zpp) == - SUCCESS) && ZVAL_IS_BOOL(*zpp) && Z_BVAL_PP(zpp)) { - ALLOC_INIT_ZVAL(ztmp); - compute_automapURI(mnt, ztmp TSRMLS_CC); -- entry->automapURI=ut_persist_zval(ztmp); -- ut_ezval_ptr_dtor(&ztmp); -+ entry->automapURI=ut_persist_zval(ztmp TSRMLS_CC); -+ ut_ezval_ptr_dtor(&ztmp TSRMLS_CC); - } - - if ((FIND_HKEY(opt_ht, mount_script, &zpp) == SUCCESS) - && (ZVAL_IS_STRING(*zpp))) { - ALLOC_INIT_ZVAL(ztmp); - PHK_Mgr_uri(mnt, *zpp, ztmp TSRMLS_CC); -- entry->mount_script_uri=ut_persist_zval(ztmp); -- ut_ezval_ptr_dtor(&ztmp); -+ entry->mount_script_uri=ut_persist_zval(ztmp TSRMLS_CC); -+ ut_ezval_ptr_dtor(&ztmp TSRMLS_CC); - } - - if ((FIND_HKEY(opt_ht, umount_script, &zpp) == SUCCESS) - && (ZVAL_IS_STRING(*zpp))) { - ALLOC_INIT_ZVAL(ztmp); - PHK_Mgr_uri(mnt, *zpp, ztmp TSRMLS_CC); -- entry->umount_script_uri=ut_persist_zval(ztmp); -- ut_ezval_ptr_dtor(&ztmp); -+ entry->umount_script_uri=ut_persist_zval(ztmp TSRMLS_CC); -+ ut_ezval_ptr_dtor(&ztmp TSRMLS_CC); - } - - if ((FIND_HKEY(opt_ht, lib_run_script, &zpp) == SUCCESS) - && (ZVAL_IS_STRING(*zpp))) { - ALLOC_INIT_ZVAL(ztmp); - PHK_Mgr_uri(mnt, *zpp, ztmp TSRMLS_CC); -- entry->lib_run_script_uri=ut_persist_zval(ztmp); -- ut_ezval_ptr_dtor(&ztmp); -+ entry->lib_run_script_uri=ut_persist_zval(ztmp TSRMLS_CC); -+ ut_ezval_ptr_dtor(&ztmp TSRMLS_CC); - } - - if ((FIND_HKEY(opt_ht, cli_run_script, &zpp) == SUCCESS) -@@ -1276,9 +1274,9 @@ static PHK_Pdata *PHK_Mgr_get_or_create_pdata(zval * mnt, - PHK_Mgr_uri(mnt, *zpp, ztmp TSRMLS_CC); - spprintf(&p, UT_PATH_MAX, "require('%s');", Z_STRVAL_P(ztmp)); - ZVAL_STRING(ztmp2, p, 0); -- entry->cli_run_command=ut_persist_zval(ztmp2); -- ut_ezval_ptr_dtor(&ztmp); -- ut_ezval_ptr_dtor(&ztmp2); -+ entry->cli_run_command=ut_persist_zval(ztmp2 TSRMLS_CC); -+ ut_ezval_ptr_dtor(&ztmp TSRMLS_CC); -+ ut_ezval_ptr_dtor(&ztmp2 TSRMLS_CC); - } - - /* Cleanup and return */ -@@ -1360,26 +1358,26 @@ static PHP_METHOD(PHK_Mgr, mimeHeader) - /*---------------------------------------------------------------*/ - /* zval_dtor works for persistent arrays, but not for persistent strings */ - --static void PHK_Mgr_Persistent_Data_dtor(PHK_Pdata * entry) -+static void PHK_Mgr_Persistent_Data_dtor(PHK_Pdata * entry TSRMLS_DC) - { -- ut_pzval_ptr_dtor(&(entry->minVersion)); -+ ut_pzval_ptr_dtor(&(entry->minVersion) TSRMLS_CC); - /* TODO: Why do these two lines cause free() errors ? */ -- ut_pzval_ptr_dtor(&(entry->options)); -- ut_pzval_ptr_dtor(&(entry->buildInfo)); -- -- ut_pzval_ptr_dtor(&(entry->mime_types)); -- ut_pzval_ptr_dtor(&(entry->web_run_script)); -- ut_pzval_ptr_dtor(&(entry->plugin_class)); -- ut_pzval_ptr_dtor(&(entry->web_access)); -- ut_pzval_ptr_dtor(&(entry->min_php_version)); -- ut_pzval_ptr_dtor(&(entry->max_php_version)); -- -- ut_pzval_ptr_dtor(&(entry->baseURI)); -- ut_pzval_ptr_dtor(&(entry->automapURI)); -- ut_pzval_ptr_dtor(&(entry->mount_script_uri)); -- ut_pzval_ptr_dtor(&(entry->umount_script_uri)); -- ut_pzval_ptr_dtor(&(entry->lib_run_script_uri)); -- ut_pzval_ptr_dtor(&(entry->cli_run_command)); -+ ut_pzval_ptr_dtor(&(entry->options) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->buildInfo) TSRMLS_CC); -+ -+ ut_pzval_ptr_dtor(&(entry->mime_types) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->web_run_script) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->plugin_class) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->web_access) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->min_php_version) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->max_php_version) TSRMLS_CC); -+ -+ ut_pzval_ptr_dtor(&(entry->baseURI) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->automapURI) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->mount_script_uri) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->umount_script_uri) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->lib_run_script_uri) TSRMLS_CC); -+ ut_pzval_ptr_dtor(&(entry->cli_run_command) TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -diff --git a/PHK_Mgr.h b/PHK_Mgr.h -index 4e17630..2832ba3 100644 ---- a/PHK_Mgr.h -+++ b/PHK_Mgr.h -@@ -129,7 +129,7 @@ StaticMutexDeclare(persistent_mtab); - - static void PHK_Mgr_init_pdata(TSRMLS_D); - static void PHK_Mgr_shutdown_pdata(TSRMLS_D); --static void PHK_Mgr_mnt_dtor(PHK_Mnt * mp); -+static void PHK_Mgr_mnt_dtor(PHK_Mnt * mp TSRMLS_DC); - static void PHK_Mgr_remove_mnt(PHK_Mnt * mp TSRMLS_DC); - static PHK_Mnt *PHK_Mgr_new_mnt(zval * mnt, ulong hash TSRMLS_DC); - static PHK_Mnt *PHK_Mgr_get_mnt(zval * mnt, ulong hash, -@@ -185,7 +185,7 @@ static PHK_Pdata *PHK_Mgr_get_pdata(zval * mnt, ulong hash TSRMLS_DC); - static PHK_Pdata *PHK_Mgr_get_or_create_pdata(zval * mnt,ulong hash TSRMLS_DC); - static void PHK_Mgr_populate_pdata(zval * mnt, ulong hash,PHK_Mnt * mp TSRMLS_DC); - static PHP_METHOD(PHK_Mgr, mimeHeader); --static void PHK_Mgr_Persistent_Data_dtor(PHK_Pdata * entry); -+static void PHK_Mgr_Persistent_Data_dtor(PHK_Pdata * entry TSRMLS_DC); - - static int MINIT_PHK_Mgr(TSRMLS_D); - static int MSHUTDOWN_PHK_Mgr(TSRMLS_D); -diff --git a/PHK_Stream.c b/PHK_Stream.c -index e8af86d..30a5823 100644 ---- a/PHK_Stream.c -+++ b/PHK_Stream.c -@@ -40,15 +40,15 @@ static PHK_STREAM_DATA *new_dp(int show_errors) - - /*--------------------*/ - --static void free_dp(PHK_STREAM_DATA ** dpp) -+static void free_dp(PHK_STREAM_DATA ** dpp TSRMLS_DC) - { - if ((!dpp) || (!(*dpp))) return; - -- ut_ezval_ptr_dtor(&((*dpp)->z_command)); -- ut_ezval_ptr_dtor(&((*dpp)->z_params)); -- ut_ezval_ptr_dtor(&((*dpp)->z_mnt)); -- ut_ezval_ptr_dtor(&((*dpp)->z_path)); -- ut_ezval_ptr_dtor(&((*dpp)->z_data)); -+ ut_ezval_ptr_dtor(&((*dpp)->z_command) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&((*dpp)->z_params) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&((*dpp)->z_mnt) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&((*dpp)->z_path) TSRMLS_CC); -+ ut_ezval_ptr_dtor(&((*dpp)->z_data) TSRMLS_CC); - - EALLOCATE(*dpp,0); - } -@@ -91,7 +91,7 @@ static int is_last_cached_opcode(const char *path, int len TSRMLS_DC) - - #define INIT_PHK_STREAM_GET_FILE() \ - { \ -- ut_ezval_dtor(ret_p); \ -+ ut_ezval_dtor(ret_p TSRMLS_CC); \ - ALLOC_INIT_ZVAL(key); \ - ALLOC_INIT_ZVAL(can_cache); \ - ALLOC_INIT_ZVAL(tmp); \ -@@ -99,15 +99,15 @@ static int is_last_cached_opcode(const char *path, int len TSRMLS_DC) - - #define CLEANUP_PHK_STREAM_GET_FILE() \ - { \ -- ut_ezval_ptr_dtor(&key); \ -- ut_ezval_ptr_dtor(&can_cache); \ -- ut_ezval_ptr_dtor(&tmp); \ -+ ut_ezval_ptr_dtor(&key TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&can_cache TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&tmp TSRMLS_CC); \ - } - - #define ABORT_PHK_STREAM_GET_FILE() \ - { \ - CLEANUP_PHK_STREAM_GET_FILE(); \ -- ut_ezval_dtor(ret_p); \ -+ ut_ezval_dtor(ret_p TSRMLS_CC); \ - return; \ - } - -@@ -226,7 +226,7 @@ static int PHK_Stream_close(php_stream * stream, - { - PHK_STREAM_DATA *dp = stream->abstract; - -- free_dp(&dp); -+ free_dp(&dp TSRMLS_CC); - - return 0; - } -@@ -288,15 +288,15 @@ static int PHK_Stream_seek(php_stream * stream, off_t offset, int whence, - - #define CLEANUP_PHK_STREAM_DO_STAT() \ - { \ -- ut_ezval_ptr_dtor(&z_key); \ -- ut_ezval_ptr_dtor(&z_cache); \ -- ut_ezval_ptr_dtor(&z_tmp); \ -- ut_ezval_ptr_dtor(&z_tmp_a); \ -- ut_ezval_ptr_dtor(&z_ssb); \ -- ut_ezval_ptr_dtor(&z_uri); \ -- ut_ezval_ptr_dtor(&z_mode); \ -- ut_ezval_ptr_dtor(&z_size); \ -- ut_ezval_ptr_dtor(&z_mtime); \ -+ ut_ezval_ptr_dtor(&z_key TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_cache TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_tmp TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_tmp_a TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_ssb TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_uri TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_mode TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_size TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_mtime TSRMLS_CC); \ - } - - #define ABORT_PHK_STREAM_DO_STAT() \ -@@ -535,10 +535,10 @@ static php_stream_ops phk_dirops = { - - #define CLEANUP_PHK_STREAM_OPEN() \ - { \ -- ut_ezval_ptr_dtor(&z_key); \ -- ut_ezval_ptr_dtor(&z_cache); \ -- ut_ezval_ptr_dtor(&z_tmp); \ -- ut_ezval_ptr_dtor(&z_uri); \ -+ ut_ezval_ptr_dtor(&z_key TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_cache TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_tmp TSRMLS_CC); \ -+ ut_ezval_ptr_dtor(&z_uri TSRMLS_CC); \ - } - - #define ABORT_PHK_STREAM_OPEN() \ -@@ -546,7 +546,7 @@ static php_stream_ops phk_dirops = { - DBG_MSG("Aborting generic_open()"); \ - zend_clear_exception(TSRMLS_C); \ - CLEANUP_PHK_STREAM_OPEN(); \ -- free_dp(&dp); \ -+ free_dp(&dp TSRMLS_CC); \ - return NULL; \ - } - -@@ -654,7 +654,7 @@ static int PHK_Stream_url_stat(php_stream_wrapper *wrapper, const char *uri, - - dp = new_dp((flags & PHP_STREAM_URL_STAT_QUIET) ? 0 : REPORT_ERRORS); - retval = do_stat(wrapper, uri, dp, ssb TSRMLS_CC); -- free_dp(&dp); -+ free_dp(&dp TSRMLS_CC); - - return retval; - } -@@ -830,7 +830,7 @@ static char *PHK_Stream_cache_key(php_stream_wrapper * wrapper, - (*mnt_end) = '/'; - - mp = PHK_Mgr_get_mnt(mnt, 0, 0 TSRMLS_CC); -- ut_ezval_ptr_dtor(&mnt); -+ ut_ezval_ptr_dtor(&mnt TSRMLS_CC); - if ((!mp) || mp->no_opcode_cache) return NULL; - - set_last_cached_opcode(uri, uri_len TSRMLS_CC); -diff --git a/PHK_Stream.h b/PHK_Stream.h -index 4804831..a6369b6 100644 ---- a/PHK_Stream.h -+++ b/PHK_Stream.h -@@ -38,7 +38,7 @@ static int last_cached_opcode_len; - /*============================================================================*/ - - static PHK_STREAM_DATA *new_dp(int show_errors); --static void free_dp(PHK_STREAM_DATA ** dpp); -+static void free_dp(PHK_STREAM_DATA ** dpp TSRMLS_DC); - static void clear_last_cached_opcode(TSRMLS_D); - static void set_last_cached_opcode(const char *path, int len TSRMLS_DC); - static int is_last_cached_opcode(const char *path, int len TSRMLS_DC); -diff --git a/utils.c b/utils.c -index 727aee8..c405ef9 100644 ---- a/utils.c -+++ b/utils.c -@@ -260,7 +260,7 @@ UT_SYMBOL void ut_decref(zval *zp) - /*---------*/ - /* Free zval content and reset it */ - --UT_SYMBOL void ut_pezval_dtor(zval *zp, int persistent) -+UT_SYMBOL void ut_pezval_dtor(zval *zp, int persistent TSRMLS_DC) - { - if (persistent) { - switch (Z_TYPE_P(zp) & IS_CONSTANT_TYPE_MASK) { -@@ -283,20 +283,20 @@ UT_SYMBOL void ut_pezval_dtor(zval *zp, int persistent) - - /*---------*/ - --UT_SYMBOL void ut_ezval_dtor(zval *zp) { ut_pezval_dtor(zp,0); } --UT_SYMBOL void ut_pzval_dtor(zval *zp) { ut_pezval_dtor(zp,1); } -+UT_SYMBOL void ut_ezval_dtor(zval *zp TSRMLS_DC) { ut_pezval_dtor(zp,0 TSRMLS_CC); } -+UT_SYMBOL void ut_pzval_dtor(zval *zp TSRMLS_DC) { ut_pezval_dtor(zp,1 TSRMLS_CC); } - - /*---------*/ - /* clear the zval pointer */ - --UT_SYMBOL void ut_pezval_ptr_dtor(zval ** zpp, int persistent) -+UT_SYMBOL void ut_pezval_ptr_dtor(zval ** zpp, int persistent TSRMLS_DC) - { - if (*zpp) { - if (persistent) { - ut_decref(*zpp); - /* php_printf("Reference count = %d\n",Z_REFCOUNT_PP(zpp)); */ - if (Z_REFCOUNT_PP(zpp) == 0) { -- ut_pzval_dtor(*zpp); -+ ut_pzval_dtor(*zpp TSRMLS_CC); - GC_REMOVE_ZVAL_FROM_BUFFER(*zpp); - ut_pallocate(*zpp, 0); - } -@@ -309,12 +309,12 @@ UT_SYMBOL void ut_pezval_ptr_dtor(zval ** zpp, int persistent) - - /*---------*/ - --UT_SYMBOL void ut_ezval_ptr_dtor(zval **zpp) { ut_pezval_ptr_dtor(zpp,0); } --UT_SYMBOL void ut_pzval_ptr_dtor(zval **zpp) { ut_pezval_ptr_dtor(zpp,1); } -+UT_SYMBOL void ut_ezval_ptr_dtor(zval **zpp TSRMLS_DC) { ut_pezval_ptr_dtor(zpp,0 TSRMLS_CC); } -+UT_SYMBOL void ut_pzval_ptr_dtor(zval **zpp TSRMLS_DC) { ut_pezval_ptr_dtor(zpp,1 TSRMLS_CC); } - - /*---------*/ - --UT_SYMBOL void ut_persistent_array_init(zval * zp) -+UT_SYMBOL void ut_persistent_array_init(zval * zp TSRMLS_DC) - { - HashTable *htp; - -@@ -326,16 +326,16 @@ UT_SYMBOL void ut_persistent_array_init(zval * zp) - - /*---------*/ - --UT_SYMBOL void ut_persistent_copy_ctor(zval ** ztpp) -+UT_SYMBOL void ut_persistent_copy_ctor(zval ** ztpp TSRMLS_DC) - { -- *ztpp=ut_persist_zval(*ztpp); -+ *ztpp=ut_persist_zval(*ztpp TSRMLS_CC); - } - - /*---------*/ - /* Duplicates a zval and all its descendants to persistent storage */ - /* Does not support objects and resources */ - --UT_SYMBOL zval *ut_persist_zval(zval * zsp) -+UT_SYMBOL zval *ut_persist_zval(zval * zsp TSRMLS_DC) - { - int type, len; - char *p; -@@ -354,7 +354,7 @@ UT_SYMBOL zval *ut_persist_zval(zval * zsp) - - case IS_ARRAY: - case IS_CONSTANT_ARRAY: -- ut_persistent_array_init(ztp); -+ ut_persistent_array_init(ztp TSRMLS_CC); - zend_hash_copy(Z_ARRVAL_P(ztp), Z_ARRVAL_P(zsp) - , (copy_ctor_func_t) ut_persistent_copy_ctor, - NULL, sizeof(zval *)); -@@ -408,7 +408,7 @@ UT_SYMBOL void ut_call_user_function_void(zval *obj_zp, char *func, - - ALLOC_INIT_ZVAL(ret); - ut_call_user_function(obj_zp, func, func_len, ret, nb_args, args TSRMLS_CC); -- ut_ezval_ptr_dtor(&ret); /* Discard return value */ -+ ut_ezval_ptr_dtor(&ret TSRMLS_CC); /* Discard return value */ - } - - /*---------------------------------------------------------------*/ -@@ -422,7 +422,7 @@ UT_SYMBOL int ut_call_user_function_bool(zval * obj_zp, char *func, - ALLOC_INIT_ZVAL(ret); - ut_call_user_function(obj_zp, func, func_len, ret, nb_args, args TSRMLS_CC); - result = zend_is_true(ret); -- ut_ezval_ptr_dtor(&ret); -+ ut_ezval_ptr_dtor(&ret TSRMLS_CC); - - return result; - } -@@ -440,7 +440,7 @@ UT_SYMBOL long ut_call_user_function_long(zval *obj_zp, char *func, - - ENSURE_LONG(ret); - result=Z_LVAL_P(ret); -- ut_ezval_ptr_dtor(&ret); -+ ut_ezval_ptr_dtor(&ret TSRMLS_CC); - - return result; - } -@@ -518,11 +518,11 @@ and 5.3.9 */ - - status=call_user_function(EG(function_table), &obj_zp, func_zp, ret, nb_args, - args TSRMLS_CC); -- ut_ezval_ptr_dtor(&func_zp); -+ ut_ezval_ptr_dtor(&func_zp TSRMLS_CC); - - #if ZEND_MODULE_API_NO <= 20050922 - if (clen) { -- ut_ezval_ptr_dtor(&obj_zp); -+ ut_ezval_ptr_dtor(&obj_zp TSRMLS_CC); - } - #endif - -@@ -572,7 +572,7 @@ UT_SYMBOL void ut_loadExtension(char *name, int len TSRMLS_DC) - - ut_loadExtension_file(zp TSRMLS_CC); - -- ut_ezval_ptr_dtor(&zp); -+ ut_ezval_ptr_dtor(&zp TSRMLS_CC); - } - - /*---------------------------------------------------------------*/ -@@ -865,7 +865,7 @@ UT_SYMBOL void ut_unserialize_zval(const unsigned char *buffer - - INIT_ZVAL(*ret); - if (!php_var_unserialize(&ret,&buffer,buffer+len,&var_hash TSRMLS_CC)) { -- ut_ezval_dtor(ret); -+ ut_ezval_dtor(ret TSRMLS_CC); - THROW_EXCEPTION("Unserialize error"); - } - PHP_VAR_UNSERIALIZE_DESTROY(var_hash); -@@ -888,7 +888,7 @@ UT_SYMBOL void ut_file_get_contents(char *path, zval *ret TSRMLS_DC) - - if (len < 0) EXCEPTION_ABORT_1("%s : Cannot read file",path); - -- ut_ezval_dtor(ret); -+ ut_ezval_dtor(ret TSRMLS_CC); - ZVAL_STRINGL(ret,contents,len,0); - } - -diff --git a/utils.h b/utils.h -index 9bc9655..e3e4cb1 100644 ---- a/utils.h -+++ b/utils.h -@@ -324,7 +324,7 @@ which is the case in this extension. */ - #else - #define RETVAL_BY_REF(zp) \ - { \ -- ut_ezval_ptr_dtor(return_value_ptr); \ -+ ut_ezval_ptr_dtor(return_value_ptr TSRMLS_CC); \ - Z_ADDREF_P(zp); \ - *return_value_ptr=(zp); \ - } -@@ -420,15 +420,15 @@ UT_SYMBOL inline void ut_dbg_print_time(); - - UT_SYMBOL inline int ut_is_web(void); - UT_SYMBOL void ut_decref(zval *zp); --UT_SYMBOL void ut_pezval_dtor(zval *zp, int persistent); --UT_SYMBOL void ut_ezval_dtor(zval *zp); --UT_SYMBOL void ut_pzval_dtor(zval *zp); --UT_SYMBOL void ut_pezval_ptr_dtor(zval ** zpp, int persistent); --UT_SYMBOL void ut_ezval_ptr_dtor(zval **zpp); --UT_SYMBOL void ut_pzval_ptr_dtor(zval **zpp); --UT_SYMBOL void ut_persistent_array_init(zval * zp); --UT_SYMBOL void ut_persistent_copy_ctor(zval ** ztpp); --UT_SYMBOL zval *ut_persist_zval(zval * zsp); -+UT_SYMBOL void ut_pezval_dtor(zval *zp, int persistent TSRMLS_DC); -+UT_SYMBOL void ut_ezval_dtor(zval *zp TSRMLS_DC); -+UT_SYMBOL void ut_pzval_dtor(zval *zp TSRMLS_DC); -+UT_SYMBOL void ut_pezval_ptr_dtor(zval ** zpp, int persistent TSRMLS_DC); -+UT_SYMBOL void ut_ezval_ptr_dtor(zval **zpp TSRMLS_DC); -+UT_SYMBOL void ut_pzval_ptr_dtor(zval **zpp TSRMLS_DC); -+UT_SYMBOL void ut_persistent_array_init(zval * zp TSRMLS_DC); -+UT_SYMBOL void ut_persistent_copy_ctor(zval ** ztpp TSRMLS_DC); -+UT_SYMBOL zval *ut_persist_zval(zval * zsp TSRMLS_DC); - UT_SYMBOL zval *ut_new_instance(char *class_name, int class_name_len, - int construct, int nb_args, zval ** args TSRMLS_DC); - UT_SYMBOL inline void ut_call_user_function_void(zval *obj_zp, char *func, diff --git a/phk-pr3.patch b/phk-pr3.patch deleted file mode 100644 index 088d6eb..0000000 --- a/phk-pr3.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7d4794ab5b5097ea3b92bd432d64663488c2e66e Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Thu, 28 May 2015 19:07:10 +0200 -Subject: [PATCH] fix zend_parse_parameters call - ---- - PHK_Cache.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/PHK_Cache.c b/PHK_Cache.c -index 69354d3..c975e76 100644 ---- a/PHK_Cache.c -+++ b/PHK_Cache.c -@@ -141,9 +141,12 @@ static PHP_METHOD(PHK_Cache, cacheID) - - static PHP_METHOD(PHK_Cache, setCacheMaxSize) - { -- if (zend_parse_parameters(ZEND_NUM_ARGS()TSRMLS_CC, "l", &cache_maxsize) -+ long tmp; -+ -+ if (zend_parse_parameters(ZEND_NUM_ARGS()TSRMLS_CC, "l", &tmp) - == FAILURE) - EXCEPTION_ABORT("Cannot parse parameters"); -+ cache_maxsize = (int)tmp; - } - - /* }}} */ diff --git a/php-pecl-phk.spec b/php-pecl-phk.spec index 6cb07d9..7adc682 100644 --- a/php-pecl-phk.spec +++ b/php-pecl-phk.spec @@ -23,20 +23,12 @@ Summary: Accelerator for Automap and PHK Name: %{?scl_prefix}php-pecl-%{pecl_name} Version: 3.0.0 -Release: 0%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} License: MIT Group: Development/Languages URL: http://pecl.php.net/package/%{pecl_name} Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -# https://github.com/flaupretre/pecl-phk/pull/1 -Patch0: %{pecl_name}-pr1.patch -# https://github.com/flaupretre/pecl-phk/pull/2 -Patch1: %{pecl_name}-pr2.patch -# https://github.com/flaupretre/pecl-phk/pull/3 -Patch2: %{pecl_name}-pr3.patch - - BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{?scl_prefix}php-devel > 5.3 BuildRequires: %{?scl_prefix}php-pear @@ -104,9 +96,6 @@ sed -e 's/role="test"/role="src"/' \ -i package.xml cd NTS -%patch0 -p1 -b .php55 -%patch1 -p1 -b .phpzts -%patch2 -p1 -b .zpp # Sanity check, really often broken extver=$(sed -n '/#define PHP_PHK_VERSION/{s/.* "//;s/".*$//;p}' php_phk.h) @@ -243,6 +232,9 @@ rm -rf %{buildroot} %changelog +* Fri May 29 2015 Remi Collet - 3.0.0-1 +- version 3.0.0 (beta) + * Thu May 28 2015 Remi Collet - 3.0.0-0 - initial package for upcoming version 3.0.0 - open # https://github.com/flaupretre/pecl-phk/pull/1 PHP 5.5 -- cgit