summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 2da877bd8..b8480a33f 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_API.c,v 1.296.2.27.2.31 2007/05/30 10:17:43 tony2001 Exp $ */
+/* $Id: zend_API.c,v 1.296.2.27.2.33 2007/08/01 10:56:45 dmitry Exp $ */
#include "zend.h"
#include "zend_execute.h"
@@ -154,7 +154,9 @@ ZEND_API int _zend_get_parameters_array_ex(int param_count, zval ***argument_arr
while (param_count-->0) {
zval **value = (zval**)(p-arg_count);
- if (EG(ze1_compatibility_mode) && Z_TYPE_PP(value) == IS_OBJECT) {
+ if (EG(ze1_compatibility_mode) &&
+ Z_TYPE_PP(value) == IS_OBJECT &&
+ !(*value)->is_ref) {
zval *value_ptr;
char *class_name;
zend_uint class_name_len;
@@ -1488,17 +1490,17 @@ try_again:
if (dep->type == MODULE_DEP_REQUIRED || dep->type == MODULE_DEP_OPTIONAL) {
b2 = b1 + 1;
while (b2 < end) {
- r = (zend_module_entry*)(*b2)->pData;
- if (strcasecmp(dep->name, r->name) == 0) {
- tmp = *b1;
- *b1 = *b2;
- *b2 = tmp;
- goto try_again;
- }
- b2++;
- }
- }
- dep++;
+ r = (zend_module_entry*)(*b2)->pData;
+ if (strcasecmp(dep->name, r->name) == 0) {
+ tmp = *b1;
+ *b1 = *b2;
+ *b2 = tmp;
+ goto try_again;
+ }
+ b2++;
+ }
+ }
+ dep++;
}
}
b1++;