[arch-commits] Commit in php-apc/trunk (PKGBUILD svn.patch)

Pierre Schmitz pierre at archlinux.org
Mon Jun 11 09:02:25 UTC 2012


    Date: Monday, June 11, 2012 @ 05:02:25
  Author: pierre
Revision: 161425

Backport patches from svn trunk

Fixes FS#29708

Added:
  php-apc/trunk/svn.patch
Modified:
  php-apc/trunk/PKGBUILD

-----------+
 PKGBUILD  |    9 +++--
 svn.patch |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-06-11 08:17:21 UTC (rev 161424)
+++ PKGBUILD	2012-06-11 09:02:25 UTC (rev 161425)
@@ -3,18 +3,21 @@
 
 pkgname=php-apc
 pkgver=3.1.10
-pkgrel=2
+pkgrel=3
 arch=('i686' 'x86_64')
 pkgdesc='A free, open, and robust framework for caching and optimizing PHP intermediate code'
 url='http://pecl.php.net/package/APC'
 depends=('php')
 license=('PHP')
-source=("http://pecl.php.net/get/APC-${pkgver}.tgz")
+source=("http://pecl.php.net/get/APC-${pkgver}.tgz"
+        'svn.patch')
 backup=('etc/php/conf.d/apc.ini')
-md5sums=('f4a6b91903d6ba9dce89fc87bb6f26c9')
+md5sums=('f4a6b91903d6ba9dce89fc87bb6f26c9'
+         'ce07a1b49b5af496e16362899df3e3c4')
 
 build() {
 	cd $srcdir/APC-$pkgver
+	patch -p0 -i ${srcdir}/svn.patch
 	phpize
 	./configure --prefix=/usr
 	make

Added: svn.patch
===================================================================
--- svn.patch	                        (rev 0)
+++ svn.patch	2012-06-11 09:02:25 UTC (rev 161425)
@@ -0,0 +1,108 @@
+Index: apc_string.c
+===================================================================
+--- apc_string.c	(Revision 325040)
++++ apc_string.c	(Revision 326091)
+@@ -91,17 +91,18 @@
+         p = p->pNext;
+     }
+    
+-    if (APCSG(interned_strings_top) + ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength) >=
++    if (APCSG(interned_strings_top) + ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength + 1) >=
+         APCSG(interned_strings_end)) {
+         /* no memory */
+         return NULL;
+     }
+ 
+     p = (Bucket *) APCSG(interned_strings_top);
+-    APCSG(interned_strings_top) += ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength);
++    APCSG(interned_strings_top) += ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength + 1);
+ 
+     p->arKey = (char*)(p+1);
+     memcpy(p->arKey, arKey, nKeyLength);
++    ((char *)p->arKey)[nKeyLength] = '\0';
+     p->nKeyLength = nKeyLength;
+     p->h = h;
+     p->pData = &p->pDataPtr;
+@@ -154,7 +155,7 @@
+         }
+ 
+ 		if (ce->name) {
+-            ce->name = apc_new_interned_string(ce->name, ce->name_length TSRMLS_CC);
++            ce->name = apc_new_interned_string(ce->name, ce->name_length+1 TSRMLS_CC);
+ 		}
+ 
+         q = ce->properties_info.pListHead;
+@@ -166,7 +167,7 @@
+             }
+ 
+             if (info->name) {
+-                info->name = apc_new_interned_string(info->name, info->name_length TSRMLS_CC);
++                info->name = apc_new_interned_string(info->name, info->name_length+1 TSRMLS_CC);
+             }
+ 
+             q = q->pListNext;
+Index: apc.php
+===================================================================
+--- apc.php	(Revision 325040)
++++ apc.php	(Revision 326091)
+@@ -91,7 +91,7 @@
+ 	'SORT1'	=> '/^[AHSMCDTZ]$/',	// first sort key
+ 	'SORT2'	=> '/^[DA]$/',			// second sort key
+ 	'AGGR'	=> '/^\d+$/',			// aggregation by dir level
+-	'SEARCH'	=> '~^[a-zA-Z0-1/_.-]*$~'			// aggregation by dir level
++	'SEARCH'	=> '~^[a-zA-Z0-9/_.-]*$~'			// aggregation by dir level
+ );
+ 
+ // default cache mode
+Index: php_apc.c
+===================================================================
+--- php_apc.c	(Revision 325040)
++++ php_apc.c	(Revision 326091)
+@@ -724,6 +724,10 @@
+     if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|lz", &strkey, &strkey_len, &(args.step), &success) == FAILURE) {
+         return;
+     }
++    
++	if (success) {
++		zval_dtor(success);
++	}
+ 
+     if(_apc_update(strkey, strkey_len, inc_updater, &args TSRMLS_CC)) {
+         if(success) ZVAL_TRUE(success);
+@@ -747,6 +751,10 @@
+     if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|lz", &strkey, &strkey_len, &(args.step), &success) == FAILURE) {
+         return;
+     }
++    
++	if (success) {
++		zval_dtor(success);
++	}
+ 
+     args.step = args.step * -1;
+ 
+Index: php_apc.h
+===================================================================
+--- php_apc.h	(Revision 325040)
++++ php_apc.h	(Revision 326091)
+@@ -35,7 +35,7 @@
+ #include "apc_php.h"
+ #include "apc_globals.h"
+ 
+-#define PHP_APC_VERSION "3.1.9"
++#define PHP_APC_VERSION "3.1.10"
+ 
+ extern zend_module_entry apc_module_entry;
+ #define apc_module_ptr &apc_module_entry
+Index: apc_cache.c
+===================================================================
+--- apc_cache.c	(Revision 325040)
++++ apc_cache.c	(Revision 326091)
+@@ -944,7 +944,7 @@
+ 
+     len = strlen(filename);
+     if(APCG(fpstat)==0) {
+-        if(IS_ABSOLUTE_PATH(filename,len)) {
++        if(IS_ABSOLUTE_PATH(filename,len) || strstr(filename, "://")) {
+             key->data.fpfile.fullpath = filename;
+             key->data.fpfile.fullpath_len = len;
+             key->h = string_nhash_8(key->data.fpfile.fullpath, key->data.fpfile.fullpath_len);




More information about the arch-commits mailing list