cvs: ZendEngine2 / zend_API.c
[email protected] ("Scott MacVicar") Fri, 08 May 2009 11:36:35 -0000
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvsscottmac1241782595@cvsserver> |
scottmac Fri May 8 11:36:35 2009 UTC
Modified files:
/ZendEngine2 zend_API.c
Log:
PPC machines mark char as unsigned, rather than signed.
This caused a segfault when using the T type for zend_parse_parameters because the default value
ended up being 255 and never -1
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.500&r2=1.501&diff_format=u
Index: ZendEngine2/zend_API.c
diff -u ZendEngine2/zend_API.c:1.500 ZendEngine2/zend_API.c:1.501
--- ZendEngine2/zend_API.c:1.500 Mon Apr 6 11:10:50 2009
+++ ZendEngine2/zend_API.c Fri May 8 11:36:35 2009
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_API.c,v 1.500 2009/04/06 11:10:50 dmitry Exp $ */
+/* $Id: zend_API.c,v 1.501 2009/05/08 11:36:35 scottmac Exp $ */
#include "zend.h"
#include "zend_execute.h"
@@ -309,7 +309,7 @@
}
/* }}} */
-static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **spec, char T_arg_type, int* ret_type, char **error, int *severity TSRMLS_DC) /* {{{ */
+static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **spec, signed char T_arg_type, int* ret_type, char **error, int *severity TSRMLS_DC) /* {{{ */
{
char *spec_walk = *spec;
char c = *spec_walk++;
@@ -843,7 +843,7 @@
}
/* }}} */
-static int zend_parse_arg(int arg_num, zval **arg, va_list *va, char **spec, int quiet, char T_arg_type TSRMLS_DC) /* {{{ */
+static int zend_parse_arg(int arg_num, zval **arg, va_list *va, char **spec, int quiet, signed char T_arg_type TSRMLS_DC) /* {{{ */
{
char *expected_type = NULL, *error = NULL;
int ret_type = IS_STRING;
@@ -886,7 +886,7 @@
int quiet = flags & ZEND_PARSE_PARAMS_QUIET;
zend_bool have_varargs = 0;
zend_bool T_present = 0;
- char T_arg_type = -1;
+ signed char T_arg_type = -1;
zval ****varargs = NULL;
int *n_varargs = NULL;