summaryrefslogtreecommitdiff
path: root/extra/php-apc
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-06-13 00:01:51 +0000
committerroot <root@rshg054.dnsready.net>2012-06-13 00:01:51 +0000
commitf46e734fbcd0b4cbae2cff1a017b95e4e8e02d53 (patch)
tree155102fee24f637e46976eb759175c3c2fbc1f40 /extra/php-apc
parentfd4cd23b679e620a51c42e87a0655d55704fdba8 (diff)
Wed Jun 13 00:01:51 UTC 2012
Diffstat (limited to 'extra/php-apc')
-rw-r--r--extra/php-apc/PKGBUILD11
-rw-r--r--extra/php-apc/svn.patch108
2 files changed, 115 insertions, 4 deletions
diff --git a/extra/php-apc/PKGBUILD b/extra/php-apc/PKGBUILD
index 337e14ec0..fb206c7a1 100644
--- a/extra/php-apc/PKGBUILD
+++ b/extra/php-apc/PKGBUILD
@@ -1,20 +1,23 @@
-# $Id: PKGBUILD 158790 2012-05-09 18:48:32Z pierre $
+# $Id: PKGBUILD 161426 2012-06-11 09:03:14Z pierre $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
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
diff --git a/extra/php-apc/svn.patch b/extra/php-apc/svn.patch
new file mode 100644
index 000000000..6a846a752
--- /dev/null
+++ b/extra/php-apc/svn.patch
@@ -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);