summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pecl_http-git.patch67
-rw-r--r--php-pecl-http.spec9
2 files changed, 75 insertions, 1 deletions
diff --git a/pecl_http-git.patch b/pecl_http-git.patch
new file mode 100644
index 0000000..ad959d0
--- /dev/null
+++ b/pecl_http-git.patch
@@ -0,0 +1,67 @@
+From 371a7daee8ef02195769ebf846e0f5ca93093672 Mon Sep 17 00:00:00 2001
+From: Michael Wallner <mike@php.net>
+Date: Mon, 11 Aug 2014 17:13:05 +0200
+Subject: [PATCH] fix PHP-5.3 compatibility
+
+---
+ php_http_env_response.c | 4 ++++
+ php_http_message.c | 13 +++++++++++++
+ tests/params015.phpt | 2 +-
+ 3 files changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/php_http_env_response.c b/php_http_env_response.c
+index 4d6ef03..c155dde 100644
+--- a/php_http_env_response.c
++++ b/php_http_env_response.c
+@@ -1096,7 +1096,11 @@ static PHP_METHOD(HttpEnvResponse, __invoke)
+
+ php_http_message_object_init_body_object(obj);
+ php_http_message_body_append(obj->message->body, ob_str, ob_len);
++#if PHP_VERSION_ID >= 50400
+ RETURN_TRUE;
++#else
++ RETURN_EMPTY_STRING();
++#endif
+ }
+ }
+
+diff --git a/php_http_message.c b/php_http_message.c
+index cc04edc..88def26 100644
+--- a/php_http_message.c
++++ b/php_http_message.c
+@@ -98,6 +98,19 @@ php_http_message_t *php_http_message_init_env(php_http_message_t *message, php_h
+ zval_dtor(&tval);
+ }
+ }
++#else
++ if (OG(ob_nesting_level)) {
++ if (php_get_output_start_filename(TSRMLS_C)) {
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not fetch response body, output has already been sent at %s:%d", php_get_output_start_filename(TSRMLS_C), php_get_output_start_lineno(TSRMLS_C));
++ goto error;
++ } else if (SUCCESS != php_ob_get_buffer(&tval TSRMLS_CC)) {
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not fetch response body");
++ goto error;
++ } else {
++ php_http_message_body_append(message->body, Z_STRVAL(tval), Z_STRLEN(tval));
++ zval_dtor(&tval);
++ }
++ }
+ #endif
+ break;
+
+diff --git a/tests/params015.phpt b/tests/params015.phpt
+index ad3948c..7501167 100644
+--- a/tests/params015.phpt
++++ b/tests/params015.phpt
+@@ -7,7 +7,7 @@ include "skipif.inc";
+ --FILE--
+ <?php
+ echo "Test\n";
+-$p = new http\Params(["attachment"=>["filename"=>"foo.bar"]]);
++$p = new http\Params(array("attachment"=>array("filename"=>"foo.bar")));
+ var_dump($p->params);
+ var_dump((string)$p);
+ ?>
+--
+1.9.2
+
diff --git a/php-pecl-http.spec b/php-pecl-http.spec
index 5d369e4..ad7e87f 100644
--- a/php-pecl-http.spec
+++ b/php-pecl-http.spec
@@ -29,7 +29,7 @@
Name: %{?scl_prefix}php-pecl-http
Version: 2.1.0
-Release: 0.3.RC2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
+Release: 0.4.RC2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
Summary: Extended HTTP support
License: BSD
@@ -40,6 +40,9 @@ Source0: http://pecl.php.net/get/%{proj_name}-%{version}%{?prever}.tgz
# From http://www.php.net/manual/en/http.configuration.php
Source1: %{proj_name}.ini
+# Upstream patches
+Patch0: %{proj_name}-git.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{?scl_prefix}php-devel >= 5.3.0
BuildRequires: %{?scl_prefix}php-hash
@@ -170,6 +173,7 @@ These are the files needed to compile programs using HTTP extension.
mv %{proj_name}-%{version}%{?prever} NTS
cd NTS
+%patch0 -p1 -b .git
extver=$(sed -n '/#define PHP_PECL_HTTP_VERSION/{s/.* "//;s/".*$//;p}' php_http.h)
if test "x${extver}" != "x%{version}%{?prever}"; then
@@ -319,6 +323,9 @@ rm -rf %{buildroot}
%changelog
+* Mon Aug 11 2014 Remi Collet <remi@fedoraproject.org> - 2.1.0-0.4.RC2
+- add upstream patch for PHP 5.3
+
* Mon Aug 11 2014 Remi Collet <remi@fedoraproject.org> - 2.1.0-0.3.RC2
- Update to 2.1.0RC2