Lines Matching refs:parser

66 	XML_Parser parser;  local
144 #define SKIP_TAGSTART(str) ((str) + (parser->toffset > (int)strlen(str) ? strlen(str) : parser->tof…
168 static void _xml_add_to_info(xml_parser *parser,char *name);
169 inline static zend_string *_xml_decode_tag(xml_parser *parser, const char *tag);
356 static void xml_parser_free_ltags(xml_parser *parser) in xml_parser_free_ltags() argument
358 if (parser->ltags) { in xml_parser_free_ltags()
360 for (inx = 0; ((inx < parser->level) && (inx < XML_MAXLEVEL)); inx++) in xml_parser_free_ltags()
361 efree(parser->ltags[ inx ]); in xml_parser_free_ltags()
362 efree(parser->ltags); in xml_parser_free_ltags()
368 xml_parser *parser = xml_parser_from_obj(object); in xml_parser_free_obj() local
370 if (parser->parser) { in xml_parser_free_obj()
371 XML_ParserFree(parser->parser); in xml_parser_free_obj()
373 xml_parser_free_ltags(parser); in xml_parser_free_obj()
374 if (!Z_ISUNDEF(parser->startElementHandler)) { in xml_parser_free_obj()
375 zval_ptr_dtor(&parser->startElementHandler); in xml_parser_free_obj()
377 if (!Z_ISUNDEF(parser->endElementHandler)) { in xml_parser_free_obj()
378 zval_ptr_dtor(&parser->endElementHandler); in xml_parser_free_obj()
380 if (!Z_ISUNDEF(parser->characterDataHandler)) { in xml_parser_free_obj()
381 zval_ptr_dtor(&parser->characterDataHandler); in xml_parser_free_obj()
383 if (!Z_ISUNDEF(parser->processingInstructionHandler)) { in xml_parser_free_obj()
384 zval_ptr_dtor(&parser->processingInstructionHandler); in xml_parser_free_obj()
386 if (!Z_ISUNDEF(parser->defaultHandler)) { in xml_parser_free_obj()
387 zval_ptr_dtor(&parser->defaultHandler); in xml_parser_free_obj()
389 if (!Z_ISUNDEF(parser->unparsedEntityDeclHandler)) { in xml_parser_free_obj()
390 zval_ptr_dtor(&parser->unparsedEntityDeclHandler); in xml_parser_free_obj()
392 if (!Z_ISUNDEF(parser->notationDeclHandler)) { in xml_parser_free_obj()
393 zval_ptr_dtor(&parser->notationDeclHandler); in xml_parser_free_obj()
395 if (!Z_ISUNDEF(parser->externalEntityRefHandler)) { in xml_parser_free_obj()
396 zval_ptr_dtor(&parser->externalEntityRefHandler); in xml_parser_free_obj()
398 if (!Z_ISUNDEF(parser->unknownEncodingHandler)) { in xml_parser_free_obj()
399 zval_ptr_dtor(&parser->unknownEncodingHandler); in xml_parser_free_obj()
401 if (!Z_ISUNDEF(parser->startNamespaceDeclHandler)) { in xml_parser_free_obj()
402 zval_ptr_dtor(&parser->startNamespaceDeclHandler); in xml_parser_free_obj()
404 if (!Z_ISUNDEF(parser->endNamespaceDeclHandler)) { in xml_parser_free_obj()
405 zval_ptr_dtor(&parser->endNamespaceDeclHandler); in xml_parser_free_obj()
407 if (parser->baseURI) { in xml_parser_free_obj()
408 efree(parser->baseURI); in xml_parser_free_obj()
410 if (!Z_ISUNDEF(parser->object)) { in xml_parser_free_obj()
411 zval_ptr_dtor(&parser->object); in xml_parser_free_obj()
414 zend_object_std_dtor(&parser->std); in xml_parser_free_obj()
419 xml_parser *parser = xml_parser_from_obj(object); in xml_parser_get_gc() local
420 *table = &parser->object; in xml_parser_get_gc()
452 static void xml_call_handler(xml_parser *parser, zval *handler, zend_function *function_ptr, int ar… in xml_call_handler() argument
457 if (parser && handler && !EG(exception)) { in xml_call_handler()
463 fci.object = Z_OBJ(parser->object); in xml_call_handler()
591 static void _xml_add_to_info(xml_parser *parser,char *name) in _xml_add_to_info() argument
595 if (Z_ISUNDEF(parser->info)) { in _xml_add_to_info()
599 if ((element = zend_hash_str_find(Z_ARRVAL(parser->info), name, strlen(name))) == NULL) { in _xml_add_to_info()
602 element = zend_hash_str_update(Z_ARRVAL(parser->info), name, strlen(name), &values); in _xml_add_to_info()
605 add_next_index_long(element, parser->curtag); in _xml_add_to_info()
607 parser->curtag++; in _xml_add_to_info()
612 static zend_string *_xml_decode_tag(xml_parser *parser, const char *tag) in _xml_decode_tag() argument
616 str = xml_utf8_decode((const XML_Char *)tag, strlen(tag), parser->target_encoding); in _xml_decode_tag()
618 if (parser->case_folding) { in _xml_decode_tag()
629 xml_parser *parser = (xml_parser *)userData; in _xml_startElementHandler() local
634 if (parser) { in _xml_startElementHandler()
635 parser->level++; in _xml_startElementHandler()
637 tag_name = _xml_decode_tag(parser, (const char *)name); in _xml_startElementHandler()
639 if (!Z_ISUNDEF(parser->startElementHandler)) { in _xml_startElementHandler()
640 ZVAL_COPY(&args[0], &parser->index); in _xml_startElementHandler()
647 att = _xml_decode_tag(parser, (const char *)attributes[0]); in _xml_startElementHandler()
648 val = xml_utf8_decode(attributes[1], strlen((char *)attributes[1]), parser->target_encoding); in _xml_startElementHandler()
658 … xml_call_handler(parser, &parser->startElementHandler, parser->startElementPtr, 3, args, &retval); in _xml_startElementHandler()
662 if (!Z_ISUNDEF(parser->data)) { in _xml_startElementHandler()
663 if (parser->level <= XML_MAXLEVEL) { in _xml_startElementHandler()
670 _xml_add_to_info(parser, ZSTR_VAL(tag_name) + parser->toffset); in _xml_startElementHandler()
674 add_assoc_long(&tag, "level", parser->level); in _xml_startElementHandler()
676 parser->ltags[parser->level-1] = estrdup(ZSTR_VAL(tag_name)); in _xml_startElementHandler()
677 parser->lastwasopen = 1; in _xml_startElementHandler()
684 att = _xml_decode_tag(parser, (const char *)attributes[0]); in _xml_startElementHandler()
685 val = xml_utf8_decode(attributes[1], strlen((char *)attributes[1]), parser->target_encoding); in _xml_startElementHandler()
702 parser->ctag = zend_hash_next_index_insert(Z_ARRVAL(parser->data), &tag); in _xml_startElementHandler()
703 } else if (parser->level == (XML_MAXLEVEL + 1)) { in _xml_startElementHandler()
716 xml_parser *parser = (xml_parser *)userData; in _xml_endElementHandler() local
718 if (parser) { in _xml_endElementHandler()
721 zend_string *tag_name = _xml_decode_tag(parser, (const char *)name); in _xml_endElementHandler()
723 if (!Z_ISUNDEF(parser->endElementHandler)) { in _xml_endElementHandler()
724 ZVAL_COPY(&args[0], &parser->index); in _xml_endElementHandler()
727 xml_call_handler(parser, &parser->endElementHandler, parser->endElementPtr, 2, args, &retval); in _xml_endElementHandler()
731 if (!Z_ISUNDEF(parser->data)) { in _xml_endElementHandler()
734 if (parser->lastwasopen) { in _xml_endElementHandler()
735 add_assoc_string(parser->ctag, "type", "complete"); in _xml_endElementHandler()
739 _xml_add_to_info(parser, ZSTR_VAL(tag_name) + parser->toffset); in _xml_endElementHandler()
743 add_assoc_long(&tag, "level", parser->level); in _xml_endElementHandler()
745 zend_hash_next_index_insert(Z_ARRVAL(parser->data), &tag); in _xml_endElementHandler()
748 parser->lastwasopen = 0; in _xml_endElementHandler()
753 if ((parser->ltags) && (parser->level <= XML_MAXLEVEL)) { in _xml_endElementHandler()
754 efree(parser->ltags[parser->level-1]); in _xml_endElementHandler()
757 parser->level--; in _xml_endElementHandler()
765 xml_parser *parser = (xml_parser *)userData; in _xml_characterDataHandler() local
767 if (parser) { in _xml_characterDataHandler()
770 if (!Z_ISUNDEF(parser->characterDataHandler)) { in _xml_characterDataHandler()
771 ZVAL_COPY(&args[0], &parser->index); in _xml_characterDataHandler()
772 _xml_xmlchar_zval(s, len, parser->target_encoding, &args[1]); in _xml_characterDataHandler()
773 …xml_call_handler(parser, &parser->characterDataHandler, parser->characterDataPtr, 2, args, &retval… in _xml_characterDataHandler()
777 if (!Z_ISUNDEF(parser->data)) { in _xml_characterDataHandler()
782 decoded_value = xml_utf8_decode(s, len, parser->target_encoding); in _xml_characterDataHandler()
783 if (parser->skipwhite) { in _xml_characterDataHandler()
800 if (parser->lastwasopen) { in _xml_characterDataHandler()
804 if ((myval = zend_hash_str_find(Z_ARRVAL_P(parser->ctag), "value", sizeof("value") - 1))) { in _xml_characterDataHandler()
811 if (doprint || (! parser->skipwhite)) { in _xml_characterDataHandler()
812 add_assoc_str(parser->ctag, "value", decoded_value); in _xml_characterDataHandler()
822 ZEND_HASH_REVERSE_FOREACH_VAL(Z_ARRVAL(parser->data), curtag) { in _xml_characterDataHandler()
838 if (parser->level <= XML_MAXLEVEL && parser->level > 0 && (doprint || (! parser->skipwhite))) { in _xml_characterDataHandler()
841 _xml_add_to_info(parser,SKIP_TAGSTART(parser->ltags[parser->level-1])); in _xml_characterDataHandler()
843 add_assoc_string(&tag, "tag", SKIP_TAGSTART(parser->ltags[parser->level-1])); in _xml_characterDataHandler()
846 add_assoc_long(&tag, "level", parser->level); in _xml_characterDataHandler()
848 zend_hash_next_index_insert(Z_ARRVAL(parser->data), &tag); in _xml_characterDataHandler()
849 } else if (parser->level == (XML_MAXLEVEL + 1)) { in _xml_characterDataHandler()
863 xml_parser *parser = (xml_parser *)userData; in _xml_processingInstructionHandler() local
865 if (parser && !Z_ISUNDEF(parser->processingInstructionHandler)) { in _xml_processingInstructionHandler()
868 ZVAL_COPY(&args[0], &parser->index); in _xml_processingInstructionHandler()
869 _xml_xmlchar_zval(target, 0, parser->target_encoding, &args[1]); in _xml_processingInstructionHandler()
870 _xml_xmlchar_zval(data, 0, parser->target_encoding, &args[2]); in _xml_processingInstructionHandler()
871 …xml_call_handler(parser, &parser->processingInstructionHandler, parser->processingInstructionPtr, … in _xml_processingInstructionHandler()
880 xml_parser *parser = (xml_parser *)userData; in _xml_defaultHandler() local
882 if (parser && !Z_ISUNDEF(parser->defaultHandler)) { in _xml_defaultHandler()
885 ZVAL_COPY(&args[0], &parser->index); in _xml_defaultHandler()
886 _xml_xmlchar_zval(s, len, parser->target_encoding, &args[1]); in _xml_defaultHandler()
887 xml_call_handler(parser, &parser->defaultHandler, parser->defaultPtr, 2, args, &retval); in _xml_defaultHandler()
901 xml_parser *parser = (xml_parser *)userData; in _xml_unparsedEntityDeclHandler() local
903 if (parser && !Z_ISUNDEF(parser->unparsedEntityDeclHandler)) { in _xml_unparsedEntityDeclHandler()
906 ZVAL_COPY(&args[0], &parser->index); in _xml_unparsedEntityDeclHandler()
907 _xml_xmlchar_zval(entityName, 0, parser->target_encoding, &args[1]); in _xml_unparsedEntityDeclHandler()
908 _xml_xmlchar_zval(base, 0, parser->target_encoding, &args[2]); in _xml_unparsedEntityDeclHandler()
909 _xml_xmlchar_zval(systemId, 0, parser->target_encoding, &args[3]); in _xml_unparsedEntityDeclHandler()
910 _xml_xmlchar_zval(publicId, 0, parser->target_encoding, &args[4]); in _xml_unparsedEntityDeclHandler()
911 _xml_xmlchar_zval(notationName, 0, parser->target_encoding, &args[5]); in _xml_unparsedEntityDeclHandler()
912 …xml_call_handler(parser, &parser->unparsedEntityDeclHandler, parser->unparsedEntityDeclPtr, 6, arg… in _xml_unparsedEntityDeclHandler()
925 xml_parser *parser = (xml_parser *)userData; in _xml_notationDeclHandler() local
927 if (parser && !Z_ISUNDEF(parser->notationDeclHandler)) { in _xml_notationDeclHandler()
930 ZVAL_COPY(&args[0], &parser->index); in _xml_notationDeclHandler()
931 _xml_xmlchar_zval(notationName, 0, parser->target_encoding, &args[1]); in _xml_notationDeclHandler()
932 _xml_xmlchar_zval(base, 0, parser->target_encoding, &args[2]); in _xml_notationDeclHandler()
933 _xml_xmlchar_zval(systemId, 0, parser->target_encoding, &args[3]); in _xml_notationDeclHandler()
934 _xml_xmlchar_zval(publicId, 0, parser->target_encoding, &args[4]); in _xml_notationDeclHandler()
935 xml_call_handler(parser, &parser->notationDeclHandler, parser->notationDeclPtr, 5, args, &retval); in _xml_notationDeclHandler()
948 xml_parser *parser = XML_GetUserData(parserPtr); in _xml_externalEntityRefHandler() local
951 if (parser && !Z_ISUNDEF(parser->externalEntityRefHandler)) { in _xml_externalEntityRefHandler()
954 ZVAL_COPY(&args[0], &parser->index); in _xml_externalEntityRefHandler()
955 _xml_xmlchar_zval(openEntityNames, 0, parser->target_encoding, &args[1]); in _xml_externalEntityRefHandler()
956 _xml_xmlchar_zval(base, 0, parser->target_encoding, &args[2]); in _xml_externalEntityRefHandler()
957 _xml_xmlchar_zval(systemId, 0, parser->target_encoding, &args[3]); in _xml_externalEntityRefHandler()
958 _xml_xmlchar_zval(publicId, 0, parser->target_encoding, &args[4]); in _xml_externalEntityRefHandler()
959 …xml_call_handler(parser, &parser->externalEntityRefHandler, parser->externalEntityRefPtr, 5, args,… in _xml_externalEntityRefHandler()
974 xml_parser *parser = (xml_parser *)userData; in _xml_startNamespaceDeclHandler() local
976 if (parser && !Z_ISUNDEF(parser->startNamespaceDeclHandler)) { in _xml_startNamespaceDeclHandler()
979 ZVAL_COPY(&args[0], &parser->index); in _xml_startNamespaceDeclHandler()
980 _xml_xmlchar_zval(prefix, 0, parser->target_encoding, &args[1]); in _xml_startNamespaceDeclHandler()
981 _xml_xmlchar_zval(uri, 0, parser->target_encoding, &args[2]); in _xml_startNamespaceDeclHandler()
982 …xml_call_handler(parser, &parser->startNamespaceDeclHandler, parser->startNamespaceDeclPtr, 3, arg… in _xml_startNamespaceDeclHandler()
991 xml_parser *parser = (xml_parser *)userData; in _xml_endNamespaceDeclHandler() local
993 if (parser && !Z_ISUNDEF(parser->endNamespaceDeclHandler)) { in _xml_endNamespaceDeclHandler()
996 ZVAL_COPY(&args[0], &parser->index); in _xml_endNamespaceDeclHandler()
997 _xml_xmlchar_zval(prefix, 0, parser->target_encoding, &args[1]); in _xml_endNamespaceDeclHandler()
998 …xml_call_handler(parser, &parser->endNamespaceDeclHandler, parser->endNamespaceDeclPtr, 2, args, &… in _xml_endNamespaceDeclHandler()
1008 xml_parser *parser; in php_xml_parser_create_impl() local
1048 parser = Z_XMLPARSER_P(return_value); in php_xml_parser_create_impl()
1049 parser->parser = XML_ParserCreate_MM((auto_detect ? NULL : encoding), in php_xml_parser_create_impl()
1052 parser->target_encoding = encoding; in php_xml_parser_create_impl()
1053 parser->case_folding = 1; in php_xml_parser_create_impl()
1054 parser->isparsing = 0; in php_xml_parser_create_impl()
1056 XML_SetUserData(parser->parser, parser); in php_xml_parser_create_impl()
1057 ZVAL_COPY_VALUE(&parser->index, return_value); in php_xml_parser_create_impl()
1078 xml_parser *parser; in PHP_FUNCTION() local
1085 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1087 zval_ptr_dtor(&parser->object); in PHP_FUNCTION()
1088 ZVAL_OBJ_COPY(&parser->object, Z_OBJ_P(mythis)); in PHP_FUNCTION()
1097 xml_parser *parser; in PHP_FUNCTION() local
1104 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1105 xml_set_handler(&parser->startElementHandler, shdl); in PHP_FUNCTION()
1106 xml_set_handler(&parser->endElementHandler, ehdl); in PHP_FUNCTION()
1107 XML_SetElementHandler(parser->parser, _xml_startElementHandler, _xml_endElementHandler); in PHP_FUNCTION()
1115 xml_parser *parser; in PHP_FUNCTION() local
1122 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1123 xml_set_handler(&parser->characterDataHandler, hdl); in PHP_FUNCTION()
1124 XML_SetCharacterDataHandler(parser->parser, _xml_characterDataHandler); in PHP_FUNCTION()
1132 xml_parser *parser; in PHP_FUNCTION() local
1139 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1140 xml_set_handler(&parser->processingInstructionHandler, hdl); in PHP_FUNCTION()
1141 XML_SetProcessingInstructionHandler(parser->parser, _xml_processingInstructionHandler); in PHP_FUNCTION()
1149 xml_parser *parser; in PHP_FUNCTION() local
1156 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1157 xml_set_handler(&parser->defaultHandler, hdl); in PHP_FUNCTION()
1158 XML_SetDefaultHandler(parser->parser, _xml_defaultHandler); in PHP_FUNCTION()
1166 xml_parser *parser; in PHP_FUNCTION() local
1173 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1174 xml_set_handler(&parser->unparsedEntityDeclHandler, hdl); in PHP_FUNCTION()
1175 XML_SetUnparsedEntityDeclHandler(parser->parser, _xml_unparsedEntityDeclHandler); in PHP_FUNCTION()
1183 xml_parser *parser; in PHP_FUNCTION() local
1190 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1191 xml_set_handler(&parser->notationDeclHandler, hdl); in PHP_FUNCTION()
1192 XML_SetNotationDeclHandler(parser->parser, _xml_notationDeclHandler); in PHP_FUNCTION()
1200 xml_parser *parser; in PHP_FUNCTION() local
1207 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1208 xml_set_handler(&parser->externalEntityRefHandler, hdl); in PHP_FUNCTION()
1209 XML_SetExternalEntityRefHandler(parser->parser, (void *) _xml_externalEntityRefHandler); in PHP_FUNCTION()
1217 xml_parser *parser; in PHP_FUNCTION() local
1224 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1225 xml_set_handler(&parser->startNamespaceDeclHandler, hdl); in PHP_FUNCTION()
1226 XML_SetStartNamespaceDeclHandler(parser->parser, _xml_startNamespaceDeclHandler); in PHP_FUNCTION()
1234 xml_parser *parser; in PHP_FUNCTION() local
1241 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1242 xml_set_handler(&parser->endNamespaceDeclHandler, hdl); in PHP_FUNCTION()
1243 XML_SetEndNamespaceDeclHandler(parser->parser, _xml_endNamespaceDeclHandler); in PHP_FUNCTION()
1251 xml_parser *parser; in PHP_FUNCTION() local
1262 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1263 if (parser->isparsing) { in PHP_FUNCTION()
1267 parser->isparsing = 1; in PHP_FUNCTION()
1268 ret = XML_Parse(parser->parser, (XML_Char*)data, data_len, isFinal); in PHP_FUNCTION()
1269 parser->isparsing = 0; in PHP_FUNCTION()
1278 xml_parser *parser; in PHP_FUNCTION() local
1288 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1290 if (parser->isparsing) { in PHP_FUNCTION()
1307 ZVAL_COPY_VALUE(&parser->data, xdata); in PHP_FUNCTION()
1310 ZVAL_COPY_VALUE(&parser->info, info); in PHP_FUNCTION()
1313 parser->level = 0; in PHP_FUNCTION()
1314 xml_parser_free_ltags(parser); in PHP_FUNCTION()
1315 parser->ltags = safe_emalloc(XML_MAXLEVEL, sizeof(char *), 0); in PHP_FUNCTION()
1317 XML_SetElementHandler(parser->parser, _xml_startElementHandler, _xml_endElementHandler); in PHP_FUNCTION()
1318 XML_SetCharacterDataHandler(parser->parser, _xml_characterDataHandler); in PHP_FUNCTION()
1320 parser->isparsing = 1; in PHP_FUNCTION()
1321 ret = XML_Parse(parser->parser, (XML_Char*)data, data_len, 1); in PHP_FUNCTION()
1322 parser->isparsing = 0; in PHP_FUNCTION()
1331 xml_parser *parser; in PHP_FUNCTION() local
1338 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1339 RETURN_LONG((zend_long)XML_GetErrorCode(parser->parser)); in PHP_FUNCTION()
1363 xml_parser *parser; in PHP_FUNCTION() local
1370 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1371 RETVAL_LONG(XML_GetCurrentLineNumber(parser->parser)); in PHP_FUNCTION()
1378 xml_parser *parser; in PHP_FUNCTION() local
1385 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1386 RETVAL_LONG(XML_GetCurrentColumnNumber(parser->parser)); in PHP_FUNCTION()
1393 xml_parser *parser; in PHP_FUNCTION() local
1400 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1401 RETVAL_LONG(XML_GetCurrentByteIndex(parser->parser)); in PHP_FUNCTION()
1409 xml_parser *parser; in PHP_FUNCTION() local
1415 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1416 if (parser->isparsing == 1) { in PHP_FUNCTION()
1428 xml_parser *parser; in PHP_FUNCTION() local
1436 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1439 parser->case_folding = zval_get_long(val); in PHP_FUNCTION()
1442 parser->toffset = zval_get_long(val); in PHP_FUNCTION()
1443 if (parser->toffset < 0) { in PHP_FUNCTION()
1445 parser->toffset = 0; in PHP_FUNCTION()
1449 parser->skipwhite = zval_get_long(val); in PHP_FUNCTION()
1463 parser->target_encoding = enc->name; in PHP_FUNCTION()
1478 xml_parser *parser; in PHP_FUNCTION() local
1486 parser = Z_XMLPARSER_P(pind); in PHP_FUNCTION()
1489 RETURN_LONG(parser->case_folding); in PHP_FUNCTION()
1492 RETURN_LONG(parser->toffset); in PHP_FUNCTION()
1495 RETURN_LONG(parser->skipwhite); in PHP_FUNCTION()
1498 RETURN_STRING((char *)parser->target_encoding); in PHP_FUNCTION()