[PHP-CVS] cvs: php-src /ext/xml/tests bug32001.phpt

2005-06-03 Thread Jani Taskinen
sniper  Fri Jun  3 19:13:23 2005 EDT

  Modified files:  
/php-src/ext/xml/tests  bug32001.phpt 
  Log:
  nuke crap, end scripts always with ?>
  
http://cvs.php.net/diff.php/php-src/ext/xml/tests/bug32001.phpt?r1=1.4&r2=1.5&ty=u
Index: php-src/ext/xml/tests/bug32001.phpt
diff -u php-src/ext/xml/tests/bug32001.phpt:1.4 
php-src/ext/xml/tests/bug32001.phpt:1.5
--- php-src/ext/xml/tests/bug32001.phpt:1.4 Fri Jun  3 18:51:10 2005
+++ php-src/ext/xml/tests/bug32001.phpt Fri Jun  3 19:13:23 2005
@@ -1,8 +1,9 @@
 --TEST--
 Bug #32001 (xml_parse*() goes into infinite loop when autodetection in effect)
 --SKIPIF--
-
 --FILE--
 http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /sapi/cgi cgi_main.c

2005-06-03 Thread Jani Taskinen
sniper  Fri Jun  3 19:11:51 2005 EDT

  Modified files:  
/php-src/sapi/cgi   cgi_main.c 
  Log:
  cs + ws
  http://cvs.php.net/diff.php/php-src/sapi/cgi/cgi_main.c?r1=1.264&r2=1.265&ty=u
Index: php-src/sapi/cgi/cgi_main.c
diff -u php-src/sapi/cgi/cgi_main.c:1.264 php-src/sapi/cgi/cgi_main.c:1.265
--- php-src/sapi/cgi/cgi_main.c:1.264   Thu Apr 28 10:23:57 2005
+++ php-src/sapi/cgi/cgi_main.c Fri Jun  3 19:11:51 2005
@@ -20,7 +20,7 @@
+--+
 */
 
-/* $Id: cgi_main.c,v 1.264 2005/04/28 14:23:57 sniper Exp $ */
+/* $Id: cgi_main.c,v 1.265 2005/06/03 23:11:51 sniper Exp $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -76,7 +76,6 @@
 #include "zend_highlight.h"
 #include "zend_indent.h"
 
-
 #include "php_getopt.h"
 
 #if PHP_FASTCGI
@@ -150,7 +149,7 @@
 
 #if ENABLE_PATHINFO_CHECK
 /* true global.  this is retreived once only, even for fastcgi */
-long fix_pathinfo=1;
+long fix_pathinfo = 1;
 #endif
 
 #ifdef PHP_WIN32
@@ -178,7 +177,7 @@
Bucket *s = *((Bucket **) b);
 
return strcasecmp(((zend_module_entry *)f->pData)->name,
- ((zend_module_entry *)s->pData)->name);
+ ((zend_module_entry 
*)s->pData)->name);
 }
 
 static void print_modules(TSRMLS_D)
@@ -230,8 +229,8 @@
 
 #if PHP_FASTCGI
if (!FCGX_IsCGI()) {
-   FCGX_Request *request = (FCGX_Request *)SG(server_context);
-   long ret = FCGX_PutStr( str, str_length, request->out );
+   FCGX_Request *request = (FCGX_Request *) SG(server_context);
+   long ret = FCGX_PutStr(str, str_length, request->out);
if (ret <= 0) {
return 0;
}
@@ -272,7 +271,7 @@
 {
 #if PHP_FASTCGI
if (!FCGX_IsCGI()) {
-   FCGX_Request *request = (FCGX_Request *)server_context;
+   FCGX_Request *request = (FCGX_Request *) server_context;
if (
 #ifndef PHP_WIN32
!parent && 
@@ -283,7 +282,7 @@
return;
}
 #endif
-   if (fflush(stdout)==EOF) {
+   if (fflush(stdout) == EOF) {
php_handle_aborted_connection();
}
 }
@@ -297,7 +296,7 @@
zend_llist_position pos;
long rfc2616_headers = 0, nph = 0;
 
-   if(SG(request_info).no_headers == 1) {
+   if (SG(request_info).no_headers == 1) {
return  SAPI_HEADER_SENT_SUCCESSFULLY;
}
/* Check wheater to send RFC2616 style headers compatible with
@@ -313,7 +312,8 @@
nph = 0;
}
 
-   if (nph || SG(sapi_headers).http_response_code != 200) {
+   if (nph || SG(sapi_headers).http_response_code != 200)
+   {
int len;
 
if (rfc2616_headers && SG(sapi_headers).http_status_line) {
@@ -331,18 +331,19 @@
PHPWRITE_H(buf, len);
}
 
-   if (SG(sapi_headers).send_default_content_type) {
+   if (SG(sapi_headers).send_default_content_type)
+   {
char *hd;
 
hd = sapi_get_default_content_type(TSRMLS_C);
-   PHPWRITE_H("Content-type: ", sizeof("Content-type: ")-1);
+   PHPWRITE_H("Content-type: ", sizeof("Content-type: ") - 1);
PHPWRITE_H(hd, strlen(hd));
PHPWRITE_H("\r\n", 2);
efree(hd);
}
 
h = zend_llist_get_first_ex(&sapi_headers->headers, &pos);
-while (h) {
+   while (h) {
PHPWRITE_H(h->header, h->header_len);
PHPWRITE_H("\r\n", 2);
h = zend_llist_get_next_ex(&sapi_headers->headers, &pos);
@@ -360,21 +361,21 @@
char *pos = buffer;
 #endif
 
-   count_bytes = MIN(count_bytes, 
(uint)SG(request_info).content_length-SG(read_post_bytes));
+   count_bytes = MIN(count_bytes, (uint) SG(request_info).content_length - 
SG(read_post_bytes));
while (read_bytes < count_bytes) {
 #if PHP_FASTCGI
if (!FCGX_IsCGI()) {
-   FCGX_Request *request = (FCGX_Request 
*)SG(server_context);
-   tmp_read_bytes = FCGX_GetStr( pos, 
count_bytes-read_bytes, request->in );
+   FCGX_Request *request = (FCGX_Request *) 
SG(server_context);
+   tmp_read_bytes = FCGX_GetStr(pos, count_bytes - 
read_bytes, request->in);
pos += tmp_read_bytes;
} else {
-   tmp_read_bytes = read(0, buffer+read_bytes, 
count_bytes-read_bytes);
+   tmp_read_bytes = read(0, buffer + read_bytes, 
count_bytes - read_bytes);
}
 #else
-   tmp_read_bytes = read(0, buffer+read_bytes, 
count_bytes-read_bytes);
+   tmp_read_bytes = read(0, buffer + read_bytes, count_bytes - 
read_bytes);
 #endif
 
-   if (tmp_read_bytes<=0) {
+   

[PHP-CVS] cvs: php-src(PHP_5_0) /ext/xml/tests bug32001.phpt

2005-06-03 Thread Magnus Määttä
magnus  Fri Jun  3 18:51:58 2005 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/xml/tests  bug32001.phpt 
  Log:
  MFH: Add skipif, test requires iconv.
  
http://cvs.php.net/diff.php/php-src/ext/xml/tests/bug32001.phpt?r1=1.1.2.4&r2=1.1.2.5&ty=u
Index: php-src/ext/xml/tests/bug32001.phpt
diff -u php-src/ext/xml/tests/bug32001.phpt:1.1.2.4 
php-src/ext/xml/tests/bug32001.phpt:1.1.2.5
--- php-src/ext/xml/tests/bug32001.phpt:1.1.2.4 Sat Apr  2 19:12:34 2005
+++ php-src/ext/xml/tests/bug32001.phpt Fri Jun  3 18:51:58 2005
@@ -1,5 +1,8 @@
 --TEST--
 Bug #32001 (xml_parse*() goes into infinite loop when autodetection in effect)
+--SKIPIF--
+http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/xml/tests bug32001.phpt

2005-06-03 Thread Magnus Määttä
magnus  Fri Jun  3 18:51:11 2005 EDT

  Modified files:  
/php-src/ext/xml/tests  bug32001.phpt 
  Log:
  Add skipif, test requires iconv.
  
http://cvs.php.net/diff.php/php-src/ext/xml/tests/bug32001.phpt?r1=1.3&r2=1.4&ty=u
Index: php-src/ext/xml/tests/bug32001.phpt
diff -u php-src/ext/xml/tests/bug32001.phpt:1.3 
php-src/ext/xml/tests/bug32001.phpt:1.4
--- php-src/ext/xml/tests/bug32001.phpt:1.3 Sat Apr  2 19:12:26 2005
+++ php-src/ext/xml/tests/bug32001.phpt Fri Jun  3 18:51:10 2005
@@ -1,5 +1,8 @@
 --TEST--
 Bug #32001 (xml_parse*() goes into infinite loop when autodetection in effect)
+--SKIPIF--
+http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src /ext/session session.c

2005-06-03 Thread Jani Taskinen
sniper  Fri Jun  3 18:09:25 2005 EDT

  Modified files:  
/php-src/ext/sessionsession.c 
  Log:
  nuke duplicate code
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.415&r2=1.416&ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.415 php-src/ext/session/session.c:1.416
--- php-src/ext/session/session.c:1.415 Wed Jun  1 14:27:50 2005
+++ php-src/ext/session/session.c   Fri Jun  3 18:09:22 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.415 2005/06/01 18:27:50 tony2001 Exp $ */
+/* $Id: session.c,v 1.416 2005/06/03 22:09:22 sniper Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1342,9 +1342,17 @@
zval **p_name;
int ac = ZEND_NUM_ARGS();
 
-   if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE)
+   if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE) 
{
WRONG_PARAM_COUNT;
+   }
 
+   /* Set return_value to current module name */
+   if (PS(mod) && PS(mod)->s_name) {
+   RETVAL_STRING(safe_estrdup(PS(mod)->s_name), 0);
+   } else {
+   RETVAL_EMPTY_STRING();
+   }
+   
if (ac == 1) {
convert_to_string_ex(p_name);
if (!_php_find_ps_module(Z_STRVAL_PP(p_name) TSRMLS_CC)) {
@@ -1357,19 +1365,7 @@
}
PS(mod_data) = NULL;
 
-   if (PS(mod) && PS(mod)->s_name) {
-   RETVAL_STRING(safe_estrdup(PS(mod)->s_name), 0);
-   } else {
-   RETVAL_EMPTY_STRING();
-   }
-   
zend_alter_ini_entry("session.save_handler", 
sizeof("session.save_handler"), Z_STRVAL_PP(p_name), Z_STRLEN_PP(p_name), 
PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
-   } else {
-   if (PS(mod) && PS(mod)->s_name) {
-   RETURN_STRING(safe_estrdup(PS(mod)->s_name), 0);
-   } else {
-   RETURN_EMPTY_STRING();
-   }
}
 }
 /* }}} */

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src / NEWS /ext/mysqli mysqli_fe.c mysqli_nonapi.c php_mysqli.h

2005-06-03 Thread Georg Richter
georg   Fri Jun  3 04:49:01 2005 EDT

  Modified files:  
/php-srcNEWS 
/php-src/ext/mysqli php_mysqli.h mysqli_nonapi.c mysqli_fe.c 
  Log:
  added new function mysqli_get_charset
  
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1904&r2=1.1905&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1904 php-src/NEWS:1.1905
--- php-src/NEWS:1.1904 Sun May 29 12:51:24 2005
+++ php-src/NEWSFri Jun  3 04:48:58 2005
@@ -57,6 +57,13 @@
   . pg_result_error_field() - highly detailed error information, 
 most importantly the SQLSTATE error code.
   . pg_set_error_verbosity() - set verbosity of errors.
+- Improved extension mysqli (Georg)
+  . added constructor for mysqli_stmt and mysqli_result classes
+  . added new function mysqli_get_charset
+  . added new class mysqli_driver
+  . added new class mysqli_warning
+  . added new class mysqli_execption 
+  . added new class mysqli_sql_exception
 - Added optional fifth parameter "count" to preg_replace_callback() and
   preg_replace() to count the number of replacements made. FR #32275. (Andrey)
 - Added optional third parameter "charlist" to str_word_count() which
@@ -65,10 +72,7 @@
 - Added pg_field_type_oid() PostgreSQL function. (mauroi at digbang dot com)
 - Added zend_declare_property_...() and zend_update_property_...()
   API functions for bool, double and binary safe strings. (Hartmut)
-- Added new classes in mysqli: mysqli_driver, mysqli_warning, mysqli_exception,
-  and mysqli_sql_exception. (Georg)
 - Added possibility to access INI variables from within .ini file. (Andrei)
-- Added constructors for mysqli_stmt and mysqli_result classes. (Georg)
 - Added variable $_SERVER['REQUEST_TIME'] containing request start time. (Ilia)
 - Added optional float parameter to gettimeofday(). (Ilia)
 - Added apache_reset_timeout() Apache1 function. (Rasmus)
http://cvs.php.net/diff.php/php-src/ext/mysqli/php_mysqli.h?r1=1.48&r2=1.49&ty=u
Index: php-src/ext/mysqli/php_mysqli.h
diff -u php-src/ext/mysqli/php_mysqli.h:1.48 
php-src/ext/mysqli/php_mysqli.h:1.49
--- php-src/ext/mysqli/php_mysqli.h:1.48Sat May 21 04:46:45 2005
+++ php-src/ext/mysqli/php_mysqli.h Fri Jun  3 04:49:00 2005
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>|
   +--+
 
-  $Id: php_mysqli.h,v 1.48 2005/05/21 08:46:45 georg Exp $ 
+  $Id: php_mysqli.h,v 1.49 2005/06/03 08:49:00 georg Exp $ 
 */
 
 /* A little hack to prevent build break, when mysql is used together with
@@ -95,6 +95,32 @@
void*userdata;
 } mysqli_local_infile;
 
+typedef struct {
+  uint number;
+  uint primary_number;
+  uint binary_number;
+  uint state;
+  const char   *csname;
+  const char   *name;
+  const char   *comment;
+  const char   *tailoring;
+  unsigned char*ctype;
+  unsigned char*to_lower;
+  unsigned char*to_upper;
+  unsigned char*sort_order;
+  unsigned short   *contractions;
+  unsigned short   **sort_order_big;
+  unsigned short   *tab_to_uni;
+  void *tab_from_uni;
+  unsigned char*state_map;
+  unsigned char*ident_map;
+  uint strxfrm_multiply;
+  uint mbminlen;
+  uint mbmaxlen;
+  unsigned short   min_sort_char;
+  unsigned short   max_sort_char; /* For LIKE optimization */
+} CHARSET_INFO;
+
 #define phpext_mysqli_ptr &mysqli_module_entry
 
 #ifdef PHP_WIN32
@@ -326,6 +352,7 @@
 PHP_FUNCTION(mysqli_field_seek);
 PHP_FUNCTION(mysqli_field_tell);
 PHP_FUNCTION(mysqli_free_result);
+PHP_FUNCTION(mysqli_get_charset);
 PHP_FUNCTION(mysqli_get_client_info);
 PHP_FUNCTION(mysqli_get_client_version);
 PHP_FUNCTION(mysqli_get_host_info);
http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli_nonapi.c?r1=1.45&r2=1.46&ty=u
Index: php-src/ext/mysqli/mysqli_nonapi.c
diff -u php-src/ext/mysqli/mysqli_nonapi.c:1.45 
php-src/ext/mysqli/mysqli_nonapi.c:1.46
--- php-src/ext/mysqli/mysqli_nonapi.c:1.45 Fri May 13 09:56:04 2005
+++ php-src/ext/mysqli/mysqli_nonapi.c  Fri Jun  3 04:49:01 2005
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>|
   +--+
 
-  $Id: mysqli_nonapi.c,v 1.45 2005/05/13 13:56:04 georg Exp $ 
+  $Id: mysqli_nonapi.c,v 1.46 2005/06/03 08:49:01 georg Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -274,6 +274,31 @@
 /* }}} */
 #endif
 
+/* {{{ object mysqli_get_charset(object link) 
+   returns a character set object */
+PHP_FUNCTION(mysqli_get_charset)
+{
+   MY_MYSQL*mysql;
+   zval*mysql_link;
+   CHARSET_INFO   

[PHP-CVS] cvs: php-src /ext/soap soap.c

2005-06-03 Thread George Schlossnagle
gschlossnagle   Fri Jun  3 03:34:50 2005 EDT

  Modified files:  
/php-src/ext/soap   soap.c 
  Log:
  [Move from branch]
  On architectures that support va_copy (specifically x86_64 linux distros),
  if you use va_list args more than once, you can corrupt memory - you 
  need to use va_copy instead.  man va_copy for details.
  
  Also, derefrencing a void * to a long on 64 bit is totally uncool.
  
  
  
http://cvs.php.net/diff.php/php-src/ext/soap/soap.c?r1=1.150&r2=1.151&ty=u
Index: php-src/ext/soap/soap.c
diff -u php-src/ext/soap/soap.c:1.150 php-src/ext/soap/soap.c:1.151
--- php-src/ext/soap/soap.c:1.150   Tue May 31 10:35:55 2005
+++ php-src/ext/soap/soap.c Fri Jun  3 03:34:49 2005
@@ -17,7 +17,7 @@
   |  Dmitry Stogov <[EMAIL PROTECTED]> |
   +--+
 */
-/* $Id: soap.c,v 1.150 2005/05/31 14:35:55 dmitry Exp $ */
+/* $Id: soap.c,v 1.151 2005/06/03 07:34:49 gschlossnagle Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -176,6 +176,21 @@
 
 static void (*old_error_handler)(int, const char *, const uint, const char*, 
va_list);
 
+#ifdef va_copy
+#define call_old_error_handler(error_num, error_filename, error_lineno, 
format, args) \
+{ \
+   va_list copy; \
+   va_copy(copy, args); \
+   old_error_handler(error_num, error_filename, error_lineno, format, 
copy); \
+   va_end(copy); \
+}
+#else
+#define call_old_error_handler(error_num, error_filename, error_lineno, 
format, args) \
+{ \
+   old_error_handler(error_num, error_filename, error_lineno, format, 
args); \
+}
+#endif
+
 #define PHP_SOAP_SERVER_CLASSNAME "SoapServer"
 #define PHP_SOAP_CLIENT_CLASSNAME "SoapClient"
 #define PHP_SOAP_VAR_CLASSNAME"SoapVar"
@@ -387,7 +402,7 @@
 static void php_soap_init_globals(zend_soap_globals *soap_globals)
 {
int i;
-   long enc;
+   encodePtr enc;
 
zend_hash_init(&soap_globals->defEnc, 0, NULL, NULL, 1);
zend_hash_init(&soap_globals->defEncIndex, 0, NULL, NULL, 1);
@@ -395,7 +410,7 @@
 
i = 0;
do {
-   enc = (long)&defaultEncoding[i];
+   enc = &defaultEncoding[i];
 
/* If has a ns and a str_type then index it */
if (defaultEncoding[i].details.type_str) {
@@ -1853,7 +1868,7 @@
_old_current_execute_data = EG(current_execute_data);
 
if (!SOAP_GLOBAL(use_soap_error_handler)) {
-   old_error_handler(error_num, error_filename, error_lineno, 
format, args);
+   call_old_error_handler(error_num, error_filename, error_lineno, 
format, args);
return;
}
 
@@ -1875,12 +1890,18 @@
char buffer[1024];
int buffer_len;
zval outbuf, outbuflen;
+   va_list argcopy;
int old = PG(display_errors);
 
INIT_ZVAL(outbuf);
INIT_ZVAL(outbuflen);
-
+#ifdef va_copy
+   va_copy(argcopy, args);
+   buffer_len = vsnprintf(buffer, sizeof(buffer)-1, 
format, argcopy);
+   va_end(argcopy);
+#else
buffer_len = vsnprintf(buffer, sizeof(buffer)-1, 
format, args);
+#endif
buffer[sizeof(buffer)-1]=0;
if (buffer_len > sizeof(buffer) - 1 || buffer_len < 0) {
buffer_len = sizeof(buffer) - 1;
@@ -1898,7 +1919,7 @@
 
PG(display_errors) = 0;
zend_try {
-   old_error_handler(error_num, error_filename, 
error_lineno, format, args);
+   call_old_error_handler(error_num, 
error_filename, error_lineno, format, args);
} zend_catch {
CG(in_compilation) = _old_in_compilation;
EG(in_execution) = _old_in_execution;
@@ -1907,10 +1928,10 @@
PG(display_errors) = old;
zend_bailout();
} else {
-   old_error_handler(error_num, error_filename, 
error_lineno, format, args);
+   call_old_error_handler(error_num, error_filename, 
error_lineno, format, args);
}
 #else
-   old_error_handler(error_num, error_filename, error_lineno, 
format, args);
+   call_old_error_handler(error_num, error_filename, error_lineno, 
format, args);
 #endif
} else {
int old = PG(display_errors);
@@ -1954,7 +1975,7 @@
 
PG(display_errors) = 0;
zend_try {
-   old_error_handler(error_num, error_filename, 
error_lineno, format, args);
+   call_old_error_handler(error_num, error_filename, 
error_lineno, format, args);

[PHP-CVS] cvs: php-src(PHP_5_0) /ext/soap soap.c

2005-06-03 Thread George Schlossnagle
gschlossnagle   Fri Jun  3 03:31:59 2005 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/soap   soap.c 
  Log:
  On architectures that support va_copy (specifically x86_64 linux distros),
  if you use va_list args more than once, you can corrupt memory - you 
  need to use va_copy instead.  man va_copy for details.
  
  Also, derefrencing a void * to a long on 64 bit is totally uncool.
  
  
  
http://cvs.php.net/diff.php/php-src/ext/soap/soap.c?r1=1.110.2.38&r2=1.110.2.39&ty=u
Index: php-src/ext/soap/soap.c
diff -u php-src/ext/soap/soap.c:1.110.2.38 php-src/ext/soap/soap.c:1.110.2.39
--- php-src/ext/soap/soap.c:1.110.2.38  Tue May 31 10:35:25 2005
+++ php-src/ext/soap/soap.c Fri Jun  3 03:31:59 2005
@@ -17,7 +17,7 @@
   |  Dmitry Stogov <[EMAIL PROTECTED]> |
   +--+
 */
-/* $Id: soap.c,v 1.110.2.38 2005/05/31 14:35:25 dmitry Exp $ */
+/* $Id: soap.c,v 1.110.2.39 2005/06/03 07:31:59 gschlossnagle Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -176,6 +176,21 @@
 
 static void (*old_error_handler)(int, const char *, const uint, const char*, 
va_list);
 
+#ifdef va_copy
+#define call_old_error_handler(error_num, error_filename, error_lineno, 
format, args) \
+{ \
+   va_list copy; \
+   va_copy(copy, args); \
+   old_error_handler(error_num, error_filename, error_lineno, format, 
copy); \
+   va_end(copy); \
+}
+#else
+#define call_old_error_handler(error_num, error_filename, error_lineno, 
format, args) \
+{ \
+   old_error_handler(error_num, error_filename, error_lineno, format, 
args); \
+}
+#endif
+
 #define PHP_SOAP_SERVER_CLASSNAME "SoapServer"
 #define PHP_SOAP_CLIENT_CLASSNAME "SoapClient"
 #define PHP_SOAP_VAR_CLASSNAME"SoapVar"
@@ -387,7 +402,7 @@
 static void php_soap_init_globals(zend_soap_globals *soap_globals)
 {
int i;
-   long enc;
+   encodePtr enc;
 
zend_hash_init(&soap_globals->defEnc, 0, NULL, NULL, 1);
zend_hash_init(&soap_globals->defEncIndex, 0, NULL, NULL, 1);
@@ -395,7 +410,7 @@
 
i = 0;
do {
-   enc = (long)&defaultEncoding[i];
+   enc = &defaultEncoding[i];
 
/* If has a ns and a str_type then index it */
if (defaultEncoding[i].details.type_str) {
@@ -1853,7 +1868,7 @@
_old_current_execute_data = EG(current_execute_data);
 
if (!SOAP_GLOBAL(use_soap_error_handler)) {
-   old_error_handler(error_num, error_filename, error_lineno, 
format, args);
+   call_old_error_handler(error_num, error_filename, error_lineno, 
format, args);
return;
}
 
@@ -1875,12 +1890,18 @@
char buffer[1024];
int buffer_len;
zval outbuf, outbuflen;
+   va_list argcopy;
int old = PG(display_errors);
 
INIT_ZVAL(outbuf);
INIT_ZVAL(outbuflen);
-
+#ifdef va_copy
+   va_copy(argcopy, args);
+   buffer_len = vsnprintf(buffer, sizeof(buffer)-1, 
format, argcopy);
+   va_end(argcopy);
+#else
buffer_len = vsnprintf(buffer, sizeof(buffer)-1, 
format, args);
+#endif
buffer[sizeof(buffer)-1]=0;
if (buffer_len > sizeof(buffer) - 1 || buffer_len < 0) {
buffer_len = sizeof(buffer) - 1;
@@ -1898,7 +1919,7 @@
 
PG(display_errors) = 0;
zend_try {
-   old_error_handler(error_num, error_filename, 
error_lineno, format, args);
+   call_old_error_handler(error_num, 
error_filename, error_lineno, format, args);
} zend_catch {
CG(in_compilation) = _old_in_compilation;
EG(in_execution) = _old_in_execution;
@@ -1907,10 +1928,10 @@
PG(display_errors) = old;
zend_bailout();
} else {
-   old_error_handler(error_num, error_filename, 
error_lineno, format, args);
+   call_old_error_handler(error_num, error_filename, 
error_lineno, format, args);
}
 #else
-   old_error_handler(error_num, error_filename, error_lineno, 
format, args);
+   call_old_error_handler(error_num, error_filename, error_lineno, 
format, args);
 #endif
} else {
int old = PG(display_errors);
@@ -1954,7 +1975,7 @@
 
PG(display_errors) = 0;
zend_try {
-   old_error_handler(error_num, error_filename, 
error_lineno, format, args);
+   call_old_error_handler(error_num, error_filename, 
error_linen