dmitry Sat Mar 5 08:27:13 2005 EDT
Modified files:
/php-src/ext/soap php_encoding.c
Log:
Fixed bug #32115 (dateTime encoding of timezone incorrect)
http://cvs.php.net/diff.php/php-src/ext/soap/php_encoding.c?r1=1.85&r2=1.86&ty=u
Index: php-src/ext/soap/php_encoding.c
diff -u php-src/ext/soap/php_encoding.c:1.85
php-src/ext/soap/php_encoding.c:1.86
--- php-src/ext/soap/php_encoding.c:1.85 Tue Dec 7 12:29:42 2004
+++ php-src/ext/soap/php_encoding.c Sat Mar 5 08:27:13 2005
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_encoding.c,v 1.85 2004/12/07 17:29:42 dmitry Exp $ */
+/* $Id: php_encoding.c,v 1.86 2005/03/05 13:27:13 dmitry Exp $ */
#include <time.h>
@@ -2287,7 +2287,7 @@
int max_reallocs = 5;
size_t buf_len=64, real_len;
char *buf;
- char tzbuf[6];
+ char tzbuf[8];
xmlNodePtr xmlParam;
@@ -2309,19 +2309,19 @@
/* Time zone support */
#ifdef HAVE_TM_GMTOFF
- sprintf(tzbuf, "%c%02d%02d", (ta->tm_gmtoff < 0) ? '-' : '+',
abs(ta->tm_gmtoff / 3600), abs( (ta->tm_gmtoff % 3600) / 60 ));
+ sprintf(tzbuf, "%c%02d:%02d", (ta->tm_gmtoff < 0) ? '-' : '+',
abs(ta->tm_gmtoff / 3600), abs( (ta->tm_gmtoff % 3600) / 60 ));
#else
# ifdef __CYGWIN__
- sprintf(tzbuf, "%c%02d%02d", ((ta->tm_isdst ? _timezone -
3600:_timezone)>0)?'-':'+', abs((ta->tm_isdst ? _timezone - 3600 : _timezone) /
3600), abs(((ta->tm_isdst ? _timezone - 3600 : _timezone) % 3600) / 60));
+ sprintf(tzbuf, "%c%02d:%02d", ((ta->tm_isdst ? _timezone -
3600:_timezone)>0)?'-':'+', abs((ta->tm_isdst ? _timezone - 3600 : _timezone) /
3600), abs(((ta->tm_isdst ? _timezone - 3600 : _timezone) % 3600) / 60));
# else
- sprintf(tzbuf, "%c%02d%02d", ((ta->tm_isdst ? timezone -
3600:timezone)>0)?'-':'+', abs((ta->tm_isdst ? timezone - 3600 : timezone) /
3600), abs(((ta->tm_isdst ? timezone - 3600 : timezone) % 3600) / 60));
+ sprintf(tzbuf, "%c%02d:%02d", ((ta->tm_isdst ? timezone -
3600:timezone)>0)?'-':'+', abs((ta->tm_isdst ? timezone - 3600 : timezone) /
3600), abs(((ta->tm_isdst ? timezone - 3600 : timezone) % 3600) / 60));
# endif
#endif
- if (strcmp(tzbuf,"+0000") == 0) {
+ if (strcmp(tzbuf,"+00:00") == 0) {
strcpy(tzbuf,"Z");
real_len++;
} else {
- real_len += 5;
+ real_len += 6;
}
if (real_len >= buf_len) {
buf = (char *) erealloc(buf, real_len+1);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php