summaryrefslogtreecommitdiff
path: root/lang/php4/files
diff options
context:
space:
mode:
Diffstat (limited to 'lang/php4/files')
-rw-r--r--lang/php4/files/patch-Zend::zend.h12
-rw-r--r--lang/php4/files/patch-Zend::zend_execute.c13
2 files changed, 25 insertions, 0 deletions
diff --git a/lang/php4/files/patch-Zend::zend.h b/lang/php4/files/patch-Zend::zend.h
new file mode 100644
index 000000000000..50625c403417
--- /dev/null
+++ b/lang/php4/files/patch-Zend::zend.h
@@ -0,0 +1,12 @@
+--- Zend/zend.h.orig Mon Dec 6 15:42:56 2004
++++ Zend/zend.h Mon Dec 6 15:46:40 2004
+@@ -176,7 +176,7 @@
+ #endif
+
+
+-#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && defined(ZEND_WIN32)) && !(defined(ZTS) && defined(NETWARE)) && !(defined(ZTS) && defined(HPUX)) && !defined(__darwin__) && !defined(__APPLE__)
++#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && defined(ZEND_WIN32)) && !(defined(ZTS) && defined(NETWARE)) && !(defined(ZTS) && defined(HPUX)) && !defined(__darwin__) && !defined(__APPLE__) && !(defined(ZTS) && defined(__FreeBSD__))
+ # define do_alloca(p) alloca(p)
+ # define free_alloca(p)
+ #else
+
diff --git a/lang/php4/files/patch-Zend::zend_execute.c b/lang/php4/files/patch-Zend::zend_execute.c
new file mode 100644
index 000000000000..bc6f098c8ad0
--- /dev/null
+++ b/lang/php4/files/patch-Zend::zend_execute.c
@@ -0,0 +1,13 @@
+--- Zend/zend_execute.c.orig Tue Dec 28 15:03:55 2004
++++ Zend/zend_execute.c Tue Dec 28 15:03:57 2004
+@@ -1577,6 +1577,10 @@
+ EX(Ts)[EX(opline)->op1.u.var].EA.data.overloaded_element.elements_list = (zend_llist *) emalloc(sizeof(zend_llist));
+ zend_llist_init(EX(Ts)[EX(opline)->op1.u.var].EA.data.overloaded_element.elements_list, sizeof(zend_overloaded_element), NULL, 0);
+ EX(object).ptr->refcount++;
++ /* is-ref needed so that assign to this in call won't separate it */
++ if(EX(object).ptr->refcount > 1) {
++ EX(object).ptr->is_ref = 1;
++ }
+ }
+ zend_llist_add_element(EX(Ts)[EX(opline)->op1.u.var].EA.data.overloaded_element.elements_list, &overloaded_element);
+ EX(fbc) = (zend_function *) emalloc(sizeof(zend_function));