summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r--ext/xml/xml.c62
1 files changed, 32 insertions, 30 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index 28b5fc2e0e..ee2d7dad5e 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -554,9 +554,9 @@ static xml_encoding *xml_get_encoding(const XML_Char *name)
/* }}} */
/* {{{ xml_utf8_encode() */
-PHPAPI zend_string *xml_utf8_encode(const char *s, int len, const XML_Char *encoding)
+PHPAPI zend_string *xml_utf8_encode(const char *s, size_t len, const XML_Char *encoding)
{
- int pos = len;
+ size_t pos = len;
zend_string *str;
unsigned int c;
unsigned short (*encoder)(unsigned char) = NULL;
@@ -571,12 +571,12 @@ PHPAPI zend_string *xml_utf8_encode(const char *s, int len, const XML_Char *enco
if (encoder == NULL) {
/* If no encoder function was specified, return the data as-is.
*/
- str = STR_INIT(s, len, 0);
+ str = zend_string_init(s, len, 0);
return str;
}
/* This is the theoretical max (will never get beyond len * 2 as long
* as we are converting from single-byte characters, though) */
- str = STR_ALLOC(len * 4, 0);
+ str = zend_string_alloc(len * 4, 0);
str->len = 0;
while (pos > 0) {
c = encoder ? encoder((unsigned char)(*s)) : (unsigned short)(*s);
@@ -599,13 +599,13 @@ PHPAPI zend_string *xml_utf8_encode(const char *s, int len, const XML_Char *enco
s++;
}
str->val[str->len] = '\0';
- str = STR_REALLOC(str, str->len, 0);
+ str = zend_string_realloc(str, str->len, 0);
return str;
}
/* }}} */
/* {{{ xml_utf8_decode() */
-PHPAPI zend_string *xml_utf8_decode(const XML_Char *s, int len, const XML_Char *encoding)
+PHPAPI zend_string *xml_utf8_decode(const XML_Char *s, size_t len, const XML_Char *encoding)
{
size_t pos = 0;
unsigned int c;
@@ -621,13 +621,13 @@ PHPAPI zend_string *xml_utf8_decode(const XML_Char *s, int len, const XML_Char *
/* If the target encoding was unknown, or no decoder function
* was specified, return the UTF-8-encoded data as-is.
*/
- str = STR_INIT((char *)s, len, 0);
+ str = zend_string_init((char *)s, len, 0);
return str;
}
- str = STR_ALLOC(len, 0);
+ str = zend_string_alloc(len, 0);
str->len = 0;
- while (pos < (size_t)len) {
+ while (pos < len) {
int status = FAILURE;
c = php_next_utf8_char((const unsigned char*)s, (size_t) len, &pos, &status);
@@ -639,7 +639,7 @@ PHPAPI zend_string *xml_utf8_decode(const XML_Char *s, int len, const XML_Char *
}
str->val[str->len] = '\0';
if (str->len < len) {
- str = STR_REALLOC(str, str->len, 0);
+ str = zend_string_realloc(str, str->len, 0);
}
return str;
@@ -737,7 +737,7 @@ void _xml_startElementHandler(void *userData, const XML_Char *name, const XML_Ch
attributes += 2;
- STR_RELEASE(att);
+ zend_string_release(att);
}
xml_call_handler(parser, &parser->startElementHandler, parser->startElementPtr, 3, args, &retval);
@@ -775,7 +775,7 @@ void _xml_startElementHandler(void *userData, const XML_Char *name, const XML_Ch
atcnt++;
attributes += 2;
- STR_RELEASE(att);
+ zend_string_release(att);
}
if (atcnt) {
@@ -791,7 +791,7 @@ void _xml_startElementHandler(void *userData, const XML_Char *name, const XML_Ch
}
}
- STR_RELEASE(tag_name);
+ zend_string_release(tag_name);
}
}
/* }}} */
@@ -835,7 +835,7 @@ void _xml_endElementHandler(void *userData, const XML_Char *name)
parser->lastwasopen = 0;
}
- STR_RELEASE(tag_name);
+ zend_string_release(tag_name);
if ((parser->ltags) && (parser->level <= XML_MAXLEVEL)) {
efree(parser->ltags[parser->level-1]);
@@ -888,10 +888,10 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len)
/* check if the current tag already has a value - if yes append to that! */
if ((myval = zend_hash_str_find(Z_ARRVAL_P(parser->ctag), "value", sizeof("value") - 1))) {
int newlen = Z_STRLEN_P(myval) + decoded_value->len;
- Z_STR_P(myval) = STR_REALLOC(Z_STR_P(myval), newlen, 0);
+ Z_STR_P(myval) = zend_string_realloc(Z_STR_P(myval), newlen, 0);
strncpy(Z_STRVAL_P(myval) + Z_STRLEN_P(myval) - decoded_value->len,
decoded_value->val, decoded_value->len + 1);
- STR_RELEASE(decoded_value);
+ zend_string_release(decoded_value);
} else {
add_assoc_str(parser->ctag, "value", decoded_value);
}
@@ -905,10 +905,10 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len)
if (!strcmp(Z_STRVAL_P(mytype), "cdata")) {
if ((myval = zend_hash_str_find(Z_ARRVAL_P(curtag), "value", sizeof("value") - 1))) {
int newlen = Z_STRLEN_P(myval) + decoded_value->len;
- Z_STR_P(myval) = STR_REALLOC(Z_STR_P(myval), newlen, 0);
+ Z_STR_P(myval) = zend_string_realloc(Z_STR_P(myval), newlen, 0);
strncpy(Z_STRVAL_P(myval) + Z_STRLEN_P(myval) - decoded_value->len,
decoded_value->val, decoded_value->len + 1);
- STR_RELEASE(decoded_value);
+ zend_string_release(decoded_value);
return;
}
}
@@ -933,7 +933,7 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len)
}
}
} else {
- STR_RELEASE(decoded_value);
+ zend_string_release(decoded_value);
}
}
}
@@ -1092,10 +1092,10 @@ static void php_xml_parser_create_impl(INTERNAL_FUNCTION_PARAMETERS, int ns_supp
int auto_detect = 0;
char *encoding_param = NULL;
- int encoding_param_len = 0;
+ size_t encoding_param_len = 0;
char *ns_param = NULL;
- int ns_param_len = 0;
+ size_t ns_param_len = 0;
XML_Char *encoding;
@@ -1365,8 +1365,9 @@ PHP_FUNCTION(xml_parse)
xml_parser *parser;
zval *pind;
char *data;
- int data_len, ret;
- long isFinal = 0;
+ size_t data_len;
+ int ret;
+ zend_long isFinal = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|l", &pind, &data, &data_len, &isFinal) == FAILURE) {
return;
@@ -1389,7 +1390,8 @@ PHP_FUNCTION(xml_parse_into_struct)
xml_parser *parser;
zval *pind, *xdata, *info = NULL;
char *data;
- int data_len, ret;
+ size_t data_len;
+ int ret;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsz/|z/", &pind, &data, &data_len, &xdata, &info) == FAILURE) {
return;
@@ -1439,7 +1441,7 @@ PHP_FUNCTION(xml_get_error_code)
ZEND_FETCH_RESOURCE(parser,xml_parser *, pind, -1, "XML Parser", le_xml_parser);
- RETURN_LONG((long)XML_GetErrorCode(parser->parser));
+ RETURN_LONG((zend_long)XML_GetErrorCode(parser->parser));
}
/* }}} */
@@ -1447,7 +1449,7 @@ PHP_FUNCTION(xml_get_error_code)
Get XML parser error string */
PHP_FUNCTION(xml_error_string)
{
- long code;
+ zend_long code;
char *str;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &code) == FAILURE) {
@@ -1544,7 +1546,7 @@ PHP_FUNCTION(xml_parser_set_option)
{
xml_parser *parser;
zval *pind, *val;
- long opt;
+ zend_long opt;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlz", &pind, &opt, &val) == FAILURE) {
return;
@@ -1591,7 +1593,7 @@ PHP_FUNCTION(xml_parser_get_option)
{
xml_parser *parser;
zval *pind;
- long opt;
+ zend_long opt;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &pind, &opt) == FAILURE) {
return;
@@ -1620,7 +1622,7 @@ PHP_FUNCTION(xml_parser_get_option)
PHP_FUNCTION(utf8_encode)
{
char *arg;
- int arg_len;
+ size_t arg_len;
zend_string *encoded;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
@@ -1640,7 +1642,7 @@ PHP_FUNCTION(utf8_encode)
PHP_FUNCTION(utf8_decode)
{
char *arg;
- int arg_len;
+ size_t arg_len;
zend_string *decoded;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {