diff options
| author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:37:27 -0400 |
|---|---|---|
| committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:37:27 -0400 |
| commit | 2d4e5b09576bb4f0ba716cc82cdf29ea04d9184b (patch) | |
| tree | 41ccc042009cba53e4ce43e727fcba4c1cfbf7f3 /ext/xmlrpc/libxmlrpc | |
| parent | d29a4fd2dd3b5d4cf6e80b602544d7b71d794e76 (diff) | |
| download | php-2d4e5b09576bb4f0ba716cc82cdf29ea04d9184b.tar.gz | |
Imported Upstream version 5.2.2upstream/5.2.2
Diffstat (limited to 'ext/xmlrpc/libxmlrpc')
| -rw-r--r-- | ext/xmlrpc/libxmlrpc/base64.c | 6 | ||||
| -rw-r--r-- | ext/xmlrpc/libxmlrpc/base64.h | 4 | ||||
| -rw-r--r-- | ext/xmlrpc/libxmlrpc/xml_to_dandarpc.c | 4 | ||||
| -rw-r--r-- | ext/xmlrpc/libxmlrpc/xml_to_soap.c | 6 | ||||
| -rw-r--r-- | ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c | 17 | ||||
| -rw-r--r-- | ext/xmlrpc/libxmlrpc/xmlrpc.c | 10 |
6 files changed, 28 insertions, 19 deletions
diff --git a/ext/xmlrpc/libxmlrpc/base64.c b/ext/xmlrpc/libxmlrpc/base64.c index e06703824..75f283411 100644 --- a/ext/xmlrpc/libxmlrpc/base64.c +++ b/ext/xmlrpc/libxmlrpc/base64.c @@ -1,4 +1,4 @@ -static const char rcsid[] = "#(@) $Id: base64.c,v 1.4 2004/04/27 17:33:59 iliaa Exp $"; +static const char rcsid[] = "#(@) $Id: base64.c,v 1.4.6.1 2007/03/04 18:24:49 iliaa Exp $"; /* @@ -49,7 +49,7 @@ void buffer_delete(struct buffer_st *b) b->data = NULL; } -void base64_encode(struct buffer_st *b, const char *source, int length) +void base64_encode_xmlrpc(struct buffer_st *b, const char *source, int length) { int i, hiteof = 0; int offset = 0; @@ -114,7 +114,7 @@ void base64_encode(struct buffer_st *b, const char *source, int length) buffer_add(b, '\n'); } -void base64_decode(struct buffer_st *bfr, const char *source, int length) +void base64_decode_xmlrpc(struct buffer_st *bfr, const char *source, int length) { int i; int offset = 0; diff --git a/ext/xmlrpc/libxmlrpc/base64.h b/ext/xmlrpc/libxmlrpc/base64.h index 4cf156ad1..6a0c8ef6f 100644 --- a/ext/xmlrpc/libxmlrpc/base64.h +++ b/ext/xmlrpc/libxmlrpc/base64.h @@ -21,8 +21,8 @@ void buffer_new(struct buffer_st *b); void buffer_add(struct buffer_st *b, char c); void buffer_delete(struct buffer_st *b); -void base64_encode(struct buffer_st *b, const char *source, int length); -void base64_decode(struct buffer_st *b, const char *source, int length); +void base64_encode_xmlrpc(struct buffer_st *b, const char *source, int length); +void base64_decode_xmlrpc(struct buffer_st *b, const char *source, int length); /* #define DEBUG_MALLOC diff --git a/ext/xmlrpc/libxmlrpc/xml_to_dandarpc.c b/ext/xmlrpc/libxmlrpc/xml_to_dandarpc.c index b51d99172..753222c55 100644 --- a/ext/xmlrpc/libxmlrpc/xml_to_dandarpc.c +++ b/ext/xmlrpc/libxmlrpc/xml_to_dandarpc.c @@ -104,7 +104,7 @@ XMLRPC_VALUE xml_element_to_DANDARPC_REQUEST_worker(XMLRPC_REQUEST request, XMLR } else if(!strcmp(type, ATTR_BASE64)) { struct buffer_st buf; - base64_decode(&buf, el->text.str, el->text.len); + base64_decode_xmlrpc(&buf, el->text.str, el->text.len); XMLRPC_SetValueBase64(xCurrent, buf.data, buf.offset); buffer_delete(&buf); } @@ -227,7 +227,7 @@ xml_element* DANDARPC_to_xml_element_worker(XMLRPC_REQUEST request, XMLRPC_VALUE { struct buffer_st buf; pAttrType = ATTR_BASE64; - base64_encode(&buf, XMLRPC_GetValueBase64(node), XMLRPC_GetValueStringLen(node)); + base64_encode_xmlrpc(&buf, XMLRPC_GetValueBase64(node), XMLRPC_GetValueStringLen(node)); simplestring_addn(&elem_val->text, buf.data, buf.offset ); buffer_delete(&buf); } diff --git a/ext/xmlrpc/libxmlrpc/xml_to_soap.c b/ext/xmlrpc/libxmlrpc/xml_to_soap.c index a30b3c11f..07c57087f 100644 --- a/ext/xmlrpc/libxmlrpc/xml_to_soap.c +++ b/ext/xmlrpc/libxmlrpc/xml_to_soap.c @@ -75,7 +75,7 @@ static xml_element_attr* new_attr(const char* key, const char* val) { } struct array_info { - char kids_type[30]; + char kids_type[128]; unsigned long size; /* ... ? */ }; @@ -363,7 +363,7 @@ XMLRPC_VALUE xml_element_to_SOAP_REQUEST_worker(XMLRPC_REQUEST request, } else if (!strcmp(type, TOKEN_BASE64)) { struct buffer_st buf; - base64_decode(&buf, el->text.str, el->text.len); + base64_decode_xmlrpc(&buf, el->text.str, el->text.len); XMLRPC_SetValueBase64(xCurrent, buf.data, buf.offset); buffer_delete(&buf); } @@ -529,7 +529,7 @@ xml_element* SOAP_to_xml_element_worker(XMLRPC_REQUEST request, XMLRPC_VALUE nod { struct buffer_st buf; pAttrType = TOKEN_BASE64; - base64_encode(&buf, XMLRPC_GetValueBase64(node), XMLRPC_GetValueStringLen(node)); + base64_encode_xmlrpc(&buf, XMLRPC_GetValueBase64(node), XMLRPC_GetValueStringLen(node)); simplestring_addn(&elem_val->text, buf.data, buf.offset ); buffer_delete(&buf); } diff --git a/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c b/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c index f411d1516..7f63febc3 100644 --- a/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c +++ b/ext/xmlrpc/libxmlrpc/xml_to_xmlrpc.c @@ -31,11 +31,13 @@ */ -static const char rcsid[] = "#(@) $Id: xml_to_xmlrpc.c,v 1.5 2004/04/27 17:33:59 iliaa Exp $"; +static const char rcsid[] = "#(@) $Id: xml_to_xmlrpc.c,v 1.5.6.2 2007/03/04 18:24:49 iliaa Exp $"; #ifdef _WIN32 #include "xmlrpc_win32.h" #endif +#include "php.h" +#include "main/snprintf.h" #include <string.h> #include <stdlib.h> #include "xml_to_xmlrpc.h" @@ -137,7 +139,7 @@ XMLRPC_VALUE xml_element_to_XMLRPC_REQUEST_worker(XMLRPC_REQUEST request, XMLRPC } else if (!strcmp(el->name, ELEM_BASE64)) { struct buffer_st buf; - base64_decode(&buf, el->text.str, el->text.len); + base64_decode_xmlrpc(&buf, el->text.str, el->text.len); XMLRPC_SetValueBase64(current_val, buf.data, buf.offset); buffer_delete(&buf); } @@ -225,9 +227,12 @@ xml_element* XMLRPC_to_xml_element_worker(XMLRPC_VALUE current_vector, XMLRPC_VA simplestring_add(&elem_val->text, buf); break; case xmlrpc_double: - elem_val->name = strdup(ELEM_DOUBLE); - snprintf(buf, BUF_SIZE, "%f", XMLRPC_GetValueDouble(node)); - simplestring_add(&elem_val->text, buf); + { + TSRMLS_FETCH(); + elem_val->name = strdup(ELEM_DOUBLE); + ap_php_snprintf(buf, BUF_SIZE, "%.*G", (int) EG(precision), XMLRPC_GetValueDouble(node)); + simplestring_add(&elem_val->text, buf); + } break; case xmlrpc_datetime: elem_val->name = strdup(ELEM_DATETIME); @@ -237,7 +242,7 @@ xml_element* XMLRPC_to_xml_element_worker(XMLRPC_VALUE current_vector, XMLRPC_VA { struct buffer_st buf; elem_val->name = strdup(ELEM_BASE64); - base64_encode(&buf, XMLRPC_GetValueBase64(node), XMLRPC_GetValueStringLen(node)); + base64_encode_xmlrpc(&buf, XMLRPC_GetValueBase64(node), XMLRPC_GetValueStringLen(node)); simplestring_addn(&elem_val->text, buf.data, buf.offset ); buffer_delete(&buf); } diff --git a/ext/xmlrpc/libxmlrpc/xmlrpc.c b/ext/xmlrpc/libxmlrpc/xmlrpc.c index fa3dafd60..1e94eaf32 100644 --- a/ext/xmlrpc/libxmlrpc/xmlrpc.c +++ b/ext/xmlrpc/libxmlrpc/xmlrpc.c @@ -31,7 +31,7 @@ */ -static const char rcsid[] = "#(@) $Id: xmlrpc.c,v 1.8 2005/03/28 00:07:24 edink Exp $"; +static const char rcsid[] = "#(@) $Id: xmlrpc.c,v 1.8.4.1 2006/11/30 16:38:37 iliaa Exp $"; /****h* ABOUT/xmlrpc @@ -43,6 +43,9 @@ static const char rcsid[] = "#(@) $Id: xmlrpc.c,v 1.8 2005/03/28 00:07:24 edink * 9/1999 - 10/2000 * HISTORY * $Log: xmlrpc.c,v $ + * Revision 1.8.4.1 2006/11/30 16:38:37 iliaa + * last set of zts fixes + * * Revision 1.8 2005/03/28 00:07:24 edink * Reshufle includes to make it compile on windows * @@ -126,6 +129,7 @@ static const char rcsid[] = "#(@) $Id: xmlrpc.c,v 1.8 2005/03/28 00:07:24 edink *******/ #include "ext/xml/expat_compat.h" +#include "main/php_reentrancy.h" #ifdef _WIN32 #include "xmlrpc_win32.h" #endif @@ -230,8 +234,8 @@ static int date_from_ISO8601 (const char *text, time_t * value) { } static int date_to_ISO8601 (time_t value, char *buf, int length) { - struct tm *tm; - tm = localtime(&value); + struct tm *tm, tmbuf; + tm = php_localtime_r(&value, &tmbuf); #if 0 /* TODO: soap seems to favor this method. xmlrpc the latter. */ return strftime (buf, length, "%Y-%m-%dT%H:%M:%SZ", tm); #else |
