]> granicus.if.org Git - php/commitdiff
fixed callback code -> now $parser is passed as a resource!
authorThies C. Arntzen <thies@php.net>
Sat, 25 Sep 1999 16:42:31 +0000 (16:42 +0000)
committerThies C. Arntzen <thies@php.net>
Sat, 25 Sep 1999 16:42:31 +0000 (16:42 +0000)
ChangeLog
ext/xml/xml.c

index 9e2cbef52647cf2a7fec4b5037e463e28f561bf6..d3c83c312d5dfae0f855f502ddf90c22e0e57e4b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@ PHP 4.0 CHANGE LOG                                                    ChangeLog
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 ?? ?? 1999, Version 4.0 Beta 3
+- Fixed XML Callbacks. (Thies)
 - Updated ODBC to use the new high-performance Zend function API (kara)
 - Updated zlib to use the new high-performance Zend function API. (Stefan)
 - Updated preg_split() to allow returning only non-empty pieces (Andrei)
index 532530978994e8bb2c45451f748d196e4ab154af..dd8b9f7b54d2b71c84f0f345f3841465a576914a 100644 (file)
@@ -71,37 +71,26 @@ DLEXPORT zend_module_entry *get_module(void) { return &xml_module_entry; }
 /* }}} */
 /* {{{ function prototypes */
 
-/* {{{ php3i_long_pval() */
+/* {{{ _xml_resource_zval() */
 
-PHPAPI pval *php3i_long_pval(long value)
+static zval *_xml_resource_zval(long value)
 {
-       pval *ret;
+       zval *ret;
        MAKE_STD_ZVAL(ret);
 
-       ret->type = IS_LONG;
+       ret->type = IS_RESOURCE;
        ret->value.lval = value;
-       return ret;
-}
 
-/* }}} */
-/* {{{ php3i_double_pval() */
-
-PHPAPI pval *php3i_double_pval(double value)
-{
-       pval *ret;
-       MAKE_STD_ZVAL(ret);
-
-       ret->type = IS_DOUBLE;
-       ret->value.dval = value;
        return ret;
 }
 
 /* }}} */
-/* {{{ php3i_string_pval() */
 
-PHPAPI pval *php3i_string_pval(const char *str)
+/* {{{ _xml_string_zval() */
+
+static zval *_xml_string_zval(const char *str)
 {
-       pval *ret;
+       zval *ret;
        int len = strlen(str);
        MAKE_STD_ZVAL(ret);
 
@@ -120,15 +109,15 @@ PHP_RSHUTDOWN_FUNCTION(xml);
 PHP_MINFO_FUNCTION(xml);
 
 static void xml_destroy_parser(xml_parser *);
-static void xml_set_handler(char **, pval **);
+static void xml_set_handler(char **, zval **);
 inline static unsigned short xml_encode_iso_8859_1(unsigned char);
 inline static char xml_decode_iso_8859_1(unsigned short);
 inline static unsigned short xml_encode_us_ascii(unsigned char);
 inline static char xml_decode_us_ascii(unsigned short);
 static XML_Char *xml_utf8_encode(const char *, int, int *, const XML_Char *);
 static char *xml_utf8_decode(const XML_Char *, int, int *, const XML_Char *);
-static pval *xml_call_handler(xml_parser *, char *, int, pval **);
-static pval *php3i_xmlcharpval(const XML_Char *, int, const XML_Char *);
+static zval *xml_call_handler(xml_parser *, char *, int, zval **);
+static zval *php3i_xmlcharzval(const XML_Char *, int, const XML_Char *);
 static int php3i_xmlcharlen(const XML_Char *);
 static void php3i_add_to_info(xml_parser *parser,char *name);
 
@@ -336,7 +325,7 @@ xml_destroy_parser(xml_parser *parser)
     /* {{{ xml_set_handler() */
 
 static void
-xml_set_handler(char **nameBufp, pval **data)
+xml_set_handler(char **nameBufp, zval **data)
 {
        if ((*data)->value.str.len > 0) {
                if (*nameBufp != NULL) {
@@ -355,17 +344,17 @@ xml_set_handler(char **nameBufp, pval **data)
 /* }}} */
     /* {{{ xml_call_handler() */
 
-static pval *
-xml_call_handler(xml_parser *parser, char *funcName, int argc, pval **argv)
+static zval *
+xml_call_handler(xml_parser *parser, char *funcName, int argc, zval **argv)
 {
        ELS_FETCH();
 
        if (parser && funcName) {
-               pval *retval, *func;
+               zval *retval, *func;
                int i;  
                int result;
 
-               func = php3i_string_pval(funcName);
+               func = _xml_string_zval(funcName);
 
                MAKE_STD_ZVAL(retval);
                retval->type = IS_BOOL;
@@ -386,7 +375,9 @@ xml_call_handler(xml_parser *parser, char *funcName, int argc, pval **argv)
                zval_dtor(func);
                efree(func);
                for (i = 0; i < argc; i++) {
-                       zval_dtor(argv[i]);
+                       if (i != 0) { /* arg 0 is always our parser-resource - we don't wat to destruct that! */
+                               zval_dtor(argv[i]);
+                       }
                        efree(argv[i]);
                }
                if (result == FAILURE) {
@@ -557,11 +548,11 @@ xml_utf8_decode(const XML_Char *s, int len, int *newlen, const XML_Char *encodin
        return newbuf;
 }
 /* }}} */
-    /* {{{ php3i_xmlcharpval() */
+    /* {{{ php3i_xmlcharzval() */
 
-static pval *php3i_xmlcharpval(const XML_Char *s, int len, const XML_Char *encoding)
+static zval *php3i_xmlcharzval(const XML_Char *s, int len, const XML_Char *encoding)
 {
-       pval *ret = emalloc(sizeof(pval));
+       zval *ret = emalloc(sizeof(zval));
 
        if (s == NULL) {
                var_reset(ret);
@@ -590,9 +581,9 @@ static int php3i_xmlcharlen(const XML_Char *s)
 }
 
 /* }}} */
-    /* {{{ php3i_pval_strdup() */
+    /* {{{ php3i_zval_strdup() */
 
-PHPAPI char *php3i_pval_strdup(pval *val)
+PHPAPI char *php3i_zval_strdup(zval *val)
 {
        if (val->type == IS_STRING) {
                char *buf = emalloc(val->value.str.len + 1);
@@ -607,14 +598,14 @@ PHPAPI char *php3i_pval_strdup(pval *val)
     /* {{{ php3i_add_to_info */
 static void php3i_add_to_info(xml_parser *parser,char *name)
 {
-       pval **element, *values;
+       zval **element, *values;
 
        if (! parser->info) {
                return;
        }
 
        if (zend_hash_find(parser->info->value.ht,name,strlen(name) + 1,(void **) &element) == FAILURE) {
-               values = emalloc(sizeof(pval));
+               values = emalloc(sizeof(zval));
                if (array_init(values) == FAILURE) {
                        php_error(E_ERROR, "Unable to initialize array");
                        return;
@@ -622,7 +613,7 @@ static void php3i_add_to_info(xml_parser *parser,char *name)
 
                INIT_PZVAL(values);
                
-               zend_hash_update(parser->info->value.ht, name, strlen(name)+1, (void *) &values, sizeof(pval*), (void **) &element);
+               zend_hash_update(parser->info->value.ht, name, strlen(name)+1, (void *) &values, sizeof(zval*), (void **) &element);
        } 
                        
        add_next_index_long(*element,parser->curtag);
@@ -640,7 +631,7 @@ void php3i_xml_startElementHandler(void *userData, const char *name,
        const char **attrs = attributes;
 
        if (parser) {
-               pval *retval, *args[3];
+               zval *retval, *args[3];
 
                parser->level++;
 
@@ -649,8 +640,8 @@ void php3i_xml_startElementHandler(void *userData, const char *name,
                }
 
                if (parser->startElementHandler) {
-                       args[0] = php3i_long_pval(parser->index);
-                       args[1] = php3i_string_pval(name);
+                       args[0] = _xml_resource_zval(parser->index);
+                       args[1] = _xml_string_zval(name);
                        MAKE_STD_ZVAL(args[2]);
                        array_init(args[2]);
                        while (attributes && *attributes) {
@@ -679,13 +670,13 @@ void php3i_xml_startElementHandler(void *userData, const char *name,
                } 
 
                if (parser->data) {
-                       pval *tag, *atr;
+                       zval *tag, *atr;
                        int atcnt = 0;
 
-                       tag = emalloc(sizeof(pval));
+                       tag = emalloc(sizeof(zval));
                        INIT_PZVAL(tag);
 
-                       atr = emalloc(sizeof(pval));
+                       atr = emalloc(sizeof(zval));
                        INIT_PZVAL(atr);
 
                        array_init(tag);
@@ -722,13 +713,13 @@ void php3i_xml_startElementHandler(void *userData, const char *name,
                        }
 
                        if (atcnt) {
-                               zend_hash_add(tag->value.ht,"attributes",sizeof("attributes"),&atr,sizeof(pval*),NULL);
+                               zend_hash_add(tag->value.ht,"attributes",sizeof("attributes"),&atr,sizeof(zval*),NULL);
                        } else {
                                zval_dtor(atr);
                                efree(atr);
                        }
 
-                       zend_hash_next_index_insert(parser->data->value.ht,&tag,sizeof(pval*),(void *) &parser->ctag);
+                       zend_hash_next_index_insert(parser->data->value.ht,&tag,sizeof(zval*),(void *) &parser->ctag);
                }
 
                if (parser->case_folding) {
@@ -745,15 +736,15 @@ void php3i_xml_endElementHandler(void *userData, const char *name)
        xml_parser *parser = (xml_parser *)userData;
 
        if (parser) {
-               pval *retval, *args[2];
+               zval *retval, *args[2];
 
                if (parser->case_folding) {
                        name = _php3_strtoupper(estrdup(name));
                }
 
                if (parser->endElementHandler) {
-                       args[0] = php3i_long_pval(parser->index);
-                       args[1] = php3i_string_pval(name);
+                       args[0] = _xml_resource_zval(parser->index);
+                       args[1] = _xml_string_zval(name);
 
                        if ((retval = xml_call_handler(parser, parser->endElementHandler, 2, args))) {
                                zval_dtor(retval);
@@ -762,12 +753,12 @@ void php3i_xml_endElementHandler(void *userData, const char *name)
                } 
 
                if (parser->data) {
-                       pval *tag;
+                       zval *tag;
 
                        if (parser->lastwasopen) {
                                add_assoc_string(*(parser->ctag),"type","complete",1);
                        } else {
-                               tag = emalloc(sizeof(pval));
+                               tag = emalloc(sizeof(zval));
 
                                array_init(tag);
                                INIT_PZVAL(tag);
@@ -778,7 +769,7 @@ void php3i_xml_endElementHandler(void *userData, const char *name)
                                add_assoc_string(tag,"type","close",1);
                                add_assoc_long(tag,"level",parser->level);
                                  
-                               zend_hash_next_index_insert(parser->data->value.ht,&tag,sizeof(pval*),NULL);
+                               zend_hash_next_index_insert(parser->data->value.ht,&tag,sizeof(zval*),NULL);
                        }
 
                        parser->lastwasopen = 0;
@@ -802,11 +793,11 @@ void php3i_xml_characterDataHandler(void *userData, const XML_Char *s, int len)
        xml_parser *parser = (xml_parser *)userData;
 
        if (parser) {
-               pval *retval, *args[2];
+               zval *retval, *args[2];
 
                if (parser->characterDataHandler) {
-                       args[0] = php3i_long_pval(parser->index);
-                       args[1] = php3i_xmlcharpval(s, len, parser->target_encoding);
+                       args[0] = _xml_resource_zval(parser->index);
+                       args[1] = php3i_xmlcharzval(s, len, parser->target_encoding);
                        if ((retval = xml_call_handler(parser, parser->characterDataHandler, 2, args))) {
                                zval_dtor(retval);
                                efree(retval);
@@ -839,9 +830,9 @@ void php3i_xml_characterDataHandler(void *userData, const XML_Char *s, int len)
                                if (parser->lastwasopen) {
                                        add_assoc_string(*(parser->ctag),"value",decoded_value,0);
                                } else {
-                                       pval *tag;
+                                       zval *tag;
 
-                                       tag = emalloc(sizeof(pval));
+                                       tag = emalloc(sizeof(zval));
                                        
                                        array_init(tag);
                                        
@@ -852,7 +843,7 @@ void php3i_xml_characterDataHandler(void *userData, const XML_Char *s, int len)
                                        add_assoc_string(tag,"type","cdata",1);
                                        add_assoc_long(tag,"level",parser->level);
                                        
-                                       zend_hash_next_index_insert(parser->data->value.ht,&tag,sizeof(pval*),NULL);
+                                       zend_hash_next_index_insert(parser->data->value.ht,&tag,sizeof(zval*),NULL);
                                }
                        } else {
                                efree(decoded_value);
@@ -871,11 +862,11 @@ void php3i_xml_processingInstructionHandler(void *userData,
        xml_parser *parser = (xml_parser *)userData;
 
        if (parser && parser->processingInstructionHandler) {
-               pval *retval, *args[3];
+               zval *retval, *args[3];
 
-               args[0] = php3i_long_pval(parser->index);
-               args[1] = php3i_xmlcharpval(target, 0, parser->target_encoding);
-               args[2] = php3i_xmlcharpval(data, 0, parser->target_encoding);
+               args[0] = _xml_resource_zval(parser->index);
+               args[1] = php3i_xmlcharzval(target, 0, parser->target_encoding);
+               args[2] = php3i_xmlcharzval(data, 0, parser->target_encoding);
                if ((retval = xml_call_handler(parser, parser->processingInstructionHandler, 3, args))) {
                        zval_dtor(retval);
                        efree(retval);
@@ -891,10 +882,10 @@ void php3i_xml_defaultHandler(void *userData, const XML_Char *s, int len)
        xml_parser *parser = (xml_parser *)userData;
 
        if (parser && parser->defaultHandler) {
-               pval *retval, *args[2];
+               zval *retval, *args[2];
 
-               args[0] = php3i_long_pval(parser->index);
-               args[1] = php3i_xmlcharpval(s, len, parser->target_encoding);
+               args[0] = _xml_resource_zval(parser->index);
+               args[1] = php3i_xmlcharzval(s, len, parser->target_encoding);
                if ((retval = xml_call_handler(parser, parser->defaultHandler, 2, args))) {
                        zval_dtor(retval);
                        efree(retval);
@@ -915,14 +906,14 @@ void php3i_xml_unparsedEntityDeclHandler(void *userData,
        xml_parser *parser = (xml_parser *)userData;
 
        if (parser && parser->unparsedEntityDeclHandler) {
-               pval *retval, *args[5];
-
-               args[0] = php3i_long_pval(parser->index);
-               args[1] = php3i_xmlcharpval(entityName, 0, parser->target_encoding);
-               args[2] = php3i_xmlcharpval(base, 0, parser->target_encoding);
-               args[3] = php3i_xmlcharpval(systemId, 0, parser->target_encoding);
-               args[4] = php3i_xmlcharpval(publicId, 0, parser->target_encoding);
-               args[5] = php3i_xmlcharpval(notationName, 0, parser->target_encoding);
+               zval *retval, *args[5];
+
+               args[0] = _xml_resource_zval(parser->index);
+               args[1] = php3i_xmlcharzval(entityName, 0, parser->target_encoding);
+               args[2] = php3i_xmlcharzval(base, 0, parser->target_encoding);
+               args[3] = php3i_xmlcharzval(systemId, 0, parser->target_encoding);
+               args[4] = php3i_xmlcharzval(publicId, 0, parser->target_encoding);
+               args[5] = php3i_xmlcharzval(notationName, 0, parser->target_encoding);
                if ((retval = xml_call_handler(parser, parser->unparsedEntityDeclHandler, 6, args))) {
                        zval_dtor(retval);
                        efree(retval);
@@ -943,13 +934,13 @@ php3i_xml_notationDeclHandler(void *userData,
        xml_parser *parser = (xml_parser *)userData;
 
        if (parser && parser->notationDeclHandler) {
-               pval *retval, *args[5];
+               zval *retval, *args[5];
 
-               args[0] = php3i_long_pval(parser->index);
-               args[1] = php3i_xmlcharpval(notationName, 0, parser->target_encoding);
-               args[2] = php3i_xmlcharpval(base, 0, parser->target_encoding);
-               args[3] = php3i_xmlcharpval(systemId, 0, parser->target_encoding);
-               args[4] = php3i_xmlcharpval(publicId, 0, parser->target_encoding);
+               args[0] = _xml_resource_zval(parser->index);
+               args[1] = php3i_xmlcharzval(notationName, 0, parser->target_encoding);
+               args[2] = php3i_xmlcharzval(base, 0, parser->target_encoding);
+               args[3] = php3i_xmlcharzval(systemId, 0, parser->target_encoding);
+               args[4] = php3i_xmlcharzval(publicId, 0, parser->target_encoding);
                if ((retval = xml_call_handler(parser, parser->notationDeclHandler, 5, args))) {
                        zval_dtor(retval);
                        efree(retval);
@@ -971,13 +962,13 @@ php3i_xml_externalEntityRefHandler(XML_Parser parserPtr,
        int ret = 0; /* abort if no handler is set (should be configurable?) */
 
        if (parser && parser->externalEntityRefHandler) {
-               pval *retval, *args[5];
+               zval *retval, *args[5];
 
-               args[0] = php3i_long_pval(parser->index);
-               args[1] = php3i_xmlcharpval(openEntityNames, 0, parser->target_encoding);
-               args[2] = php3i_xmlcharpval(base, 0, parser->target_encoding);
-               args[3] = php3i_xmlcharpval(systemId, 0, parser->target_encoding);
-               args[4] = php3i_xmlcharpval(publicId, 0, parser->target_encoding);
+               args[0] = _xml_resource_zval(parser->index);
+               args[1] = php3i_xmlcharzval(openEntityNames, 0, parser->target_encoding);
+               args[2] = php3i_xmlcharzval(base, 0, parser->target_encoding);
+               args[3] = php3i_xmlcharzval(systemId, 0, parser->target_encoding);
+               args[4] = php3i_xmlcharzval(publicId, 0, parser->target_encoding);
                if ((retval = xml_call_handler(parser, parser->externalEntityRefHandler, 5, args))) {
                        convert_to_long(retval);
                        ret = retval->value.lval;
@@ -1001,7 +992,7 @@ PHP_FUNCTION(xml_parser_create)
 {
        xml_parser *parser;
        int argc;
-       pval **encodingArg;
+       zval **encodingArg;
        XML_Char *encoding;
        char thisfunc[] = "xml_parser_create";
        XMLLS_FETCH();
@@ -1051,7 +1042,7 @@ PHP_FUNCTION(xml_parser_create)
 PHP_FUNCTION(xml_set_element_handler)
 {
        xml_parser *parser;
-       pval **pind, **shdl, **ehdl;
+       zval **pind, **shdl, **ehdl;
 
        if (ARG_COUNT(ht) != 3 ||
                getParametersEx(3, &pind, &shdl, &ehdl) == FAILURE) {
@@ -1072,7 +1063,7 @@ PHP_FUNCTION(xml_set_element_handler)
 PHP_FUNCTION(xml_set_character_data_handler)
 {
        xml_parser *parser;
-       pval **pind, **hdl;
+       zval **pind, **hdl;
 
        if (ARG_COUNT(ht) != 2 || getParametersEx(2, &pind, &hdl) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1091,7 +1082,7 @@ PHP_FUNCTION(xml_set_character_data_handler)
 PHP_FUNCTION(xml_set_processing_instruction_handler)
 {
        xml_parser *parser;
-       pval **pind, **hdl;
+       zval **pind, **hdl;
 
        if (ARG_COUNT(ht) != 2 || getParametersEx(2, &pind, &hdl) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1110,7 +1101,7 @@ PHP_FUNCTION(xml_set_processing_instruction_handler)
 PHP_FUNCTION(xml_set_default_handler)
 {
        xml_parser *parser;
-       pval **pind, **hdl;
+       zval **pind, **hdl;
 
        if (ARG_COUNT(ht) != 2 || getParametersEx(2, &pind, &hdl) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1128,7 +1119,7 @@ PHP_FUNCTION(xml_set_default_handler)
 PHP_FUNCTION(xml_set_unparsed_entity_decl_handler)
 {
        xml_parser *parser;
-       pval **pind, **hdl;
+       zval **pind, **hdl;
 
        if (ARG_COUNT(ht) != 2 || getParametersEx(2, &pind, &hdl) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1147,7 +1138,7 @@ PHP_FUNCTION(xml_set_unparsed_entity_decl_handler)
 PHP_FUNCTION(xml_set_notation_decl_handler)
 {
        xml_parser *parser;
-       pval **pind, **hdl;
+       zval **pind, **hdl;
 
        if (ARG_COUNT(ht) != 2 || getParametersEx(2, &pind, &hdl) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1165,7 +1156,7 @@ PHP_FUNCTION(xml_set_notation_decl_handler)
 PHP_FUNCTION(xml_set_external_entity_ref_handler)
 {
        xml_parser *parser;
-       pval **pind, **hdl;
+       zval **pind, **hdl;
 
        if (ARG_COUNT(ht) != 2 || getParametersEx(2, &pind, &hdl) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1183,7 +1174,7 @@ PHP_FUNCTION(xml_set_external_entity_ref_handler)
 PHP_FUNCTION(xml_parse)
 {
        xml_parser *parser;
-       pval **pind, **data, **final;
+       zval **pind, **data, **final;
        int argc, isFinal, ret;
 
        argc = ARG_COUNT(ht);
@@ -1212,7 +1203,7 @@ PHP_FUNCTION(xml_parse)
 PHP_FUNCTION(xml_parse_into_struct)
 {
        xml_parser *parser;
-       pval **pind, **data, **xdata, **info = 0;
+       zval **pind, **data, **xdata, **info = 0;
        int argc, ret;
 
        argc = ARG_COUNT(ht);
@@ -1221,7 +1212,7 @@ PHP_FUNCTION(xml_parse_into_struct)
                        php_error(E_WARNING, "Array to be filled with values must be passed by reference.");
             RETURN_FALSE;
                }
-               pval_destructor(*info);
+               zval_dtor(*info);
                array_init(*info);
        } else if (getParametersEx(3, &pind, &data, &xdata) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1235,7 +1226,7 @@ PHP_FUNCTION(xml_parse_into_struct)
        ZEND_FETCH_RESOURCE(parser,xml_parser *, pind, -1, "XML Parser", le_xml_parser);
 
        convert_to_string_ex(data);
-       pval_destructor(*xdata);
+       zval_dtor(*xdata);
        array_init(*xdata);
 
        parser->data = *xdata;
@@ -1259,7 +1250,7 @@ PHP_FUNCTION(xml_parse_into_struct)
 PHP_FUNCTION(xml_get_error_code)
 {
        xml_parser *parser;
-       pval **pind;
+       zval **pind;
 
        if (ARG_COUNT(ht) != 1 || getParametersEx(1, &pind) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1274,7 +1265,7 @@ PHP_FUNCTION(xml_get_error_code)
    Get XML parser error string */
 PHP_FUNCTION(xml_error_string)
 {
-       pval **code;
+       zval **code;
        char *str;
 
        if (ARG_COUNT(ht) != 1 || getParametersEx(1, &code) == FAILURE) {
@@ -1293,7 +1284,7 @@ PHP_FUNCTION(xml_error_string)
 PHP_FUNCTION(xml_get_current_line_number)
 {
        xml_parser *parser;
-       pval **pind;
+       zval **pind;
 
        if (ARG_COUNT(ht) != 1 || getParametersEx(1, &pind) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1310,7 +1301,7 @@ PHP_FUNCTION(xml_get_current_line_number)
 PHP_FUNCTION(xml_get_current_column_number)
 {
        xml_parser *parser;
-       pval **pind;
+       zval **pind;
 
        if (ARG_COUNT(ht) != 1 || getParametersEx(1, &pind) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1326,7 +1317,7 @@ PHP_FUNCTION(xml_get_current_column_number)
 PHP_FUNCTION(xml_get_current_byte_index)
 {
        xml_parser *parser;
-       pval **pind;
+       zval **pind;
 
        if (ARG_COUNT(ht) != 1 || getParametersEx(1, &pind) == FAILURE) {
                WRONG_PARAM_COUNT;
@@ -1341,7 +1332,7 @@ PHP_FUNCTION(xml_get_current_byte_index)
    Free an XML parser */
 PHP_FUNCTION(xml_parser_free)
 {
-       pval **pind;
+       zval **pind;
        xml_parser *parser;
 
        if (ARG_COUNT(ht) != 1 || getParametersEx(1, &pind) == FAILURE) {
@@ -1363,7 +1354,7 @@ PHP_FUNCTION(xml_parser_free)
 PHP_FUNCTION(xml_parser_set_option)
 {
        xml_parser *parser;
-       pval **pind, **opt, **val;
+       zval **pind, **opt, **val;
        char thisfunc[] = "xml_parser_set_option";
 
        if (ARG_COUNT(ht) != 3 || getParametersEx(3, &pind, &opt, &val) == FAILURE) {
@@ -1412,7 +1403,7 @@ PHP_FUNCTION(xml_parser_set_option)
 PHP_FUNCTION(xml_parser_get_option)
 {
        xml_parser *parser;
-       pval **pind, **opt;
+       zval **pind, **opt;
        char thisfunc[] = "xml_parser_get_option";
 
        if (ARG_COUNT(ht) != 2 || getParametersEx(2, &pind, &opt) == FAILURE) {
@@ -1442,7 +1433,7 @@ PHP_FUNCTION(xml_parser_get_option)
    Encodes an ISO-8859-1 string to UTF-8 */
 PHP_FUNCTION(utf8_encode)
 {
-       pval **arg;
+       zval **arg;
        XML_Char *encoded;
        int len;
 
@@ -1462,7 +1453,7 @@ PHP_FUNCTION(utf8_encode)
    Converts a UTF-8 encoded string to ISO-8859-1 */
 PHP_FUNCTION(utf8_decode)
 {
-       pval **arg;
+       zval **arg;
        XML_Char *decoded;
        int len;