| 939 | } |
| 940 | |
| 941 | XML_Parser XMLCALL |
| 942 | XML_ExternalEntityParserCreate(XML_Parser oldParser, |
| 943 | const XML_Char *context, |
| 944 | const XML_Char *encodingName) |
| 945 | { |
| 946 | XML_Parser parser = oldParser; |
| 947 | DTD *newDtd = NULL; |
| 948 | DTD *oldDtd = _dtd; |
| 949 | XML_StartElementHandler oldStartElementHandler = startElementHandler; |
| 950 | XML_EndElementHandler oldEndElementHandler = endElementHandler; |
| 951 | XML_CharacterDataHandler oldCharacterDataHandler = characterDataHandler; |
| 952 | XML_ProcessingInstructionHandler oldProcessingInstructionHandler |
| 953 | = processingInstructionHandler; |
| 954 | XML_CommentHandler oldCommentHandler = commentHandler; |
| 955 | XML_StartCdataSectionHandler oldStartCdataSectionHandler |
| 956 | = startCdataSectionHandler; |
| 957 | XML_EndCdataSectionHandler oldEndCdataSectionHandler |
| 958 | = endCdataSectionHandler; |
| 959 | XML_DefaultHandler oldDefaultHandler = defaultHandler; |
| 960 | XML_UnparsedEntityDeclHandler oldUnparsedEntityDeclHandler |
| 961 | = unparsedEntityDeclHandler; |
| 962 | XML_NotationDeclHandler oldNotationDeclHandler = notationDeclHandler; |
| 963 | XML_StartNamespaceDeclHandler oldStartNamespaceDeclHandler |
| 964 | = startNamespaceDeclHandler; |
| 965 | XML_EndNamespaceDeclHandler oldEndNamespaceDeclHandler |
| 966 | = endNamespaceDeclHandler; |
| 967 | XML_NotStandaloneHandler oldNotStandaloneHandler = notStandaloneHandler; |
| 968 | XML_ExternalEntityRefHandler oldExternalEntityRefHandler |
| 969 | = externalEntityRefHandler; |
| 970 | XML_SkippedEntityHandler oldSkippedEntityHandler = skippedEntityHandler; |
| 971 | XML_UnknownEncodingHandler oldUnknownEncodingHandler |
| 972 | = unknownEncodingHandler; |
| 973 | XML_ElementDeclHandler oldElementDeclHandler = elementDeclHandler; |
| 974 | XML_AttlistDeclHandler oldAttlistDeclHandler = attlistDeclHandler; |
| 975 | XML_EntityDeclHandler oldEntityDeclHandler = entityDeclHandler; |
| 976 | XML_XmlDeclHandler oldXmlDeclHandler = xmlDeclHandler; |
| 977 | ELEMENT_TYPE * oldDeclElementType = declElementType; |
| 978 | |
| 979 | void *oldUserData = userData; |
| 980 | void *oldHandlerArg = handlerArg; |
| 981 | XML_Bool oldDefaultExpandInternalEntities = defaultExpandInternalEntities; |
| 982 | XML_Parser oldExternalEntityRefHandlerArg = externalEntityRefHandlerArg; |
| 983 | #ifdef XML_DTD |
| 984 | enum XML_ParamEntityParsing oldParamEntityParsing = paramEntityParsing; |
| 985 | int oldInEntityValue = prologState.inEntityValue; |
| 986 | #endif |
| 987 | XML_Bool oldns_triplets = ns_triplets; |
| 988 | |
| 989 | #ifdef XML_DTD |
| 990 | if (!context) |
| 991 | newDtd = oldDtd; |
| 992 | #endif /* XML_DTD */ |
| 993 | |
| 994 | /* Note that the magical uses of the pre-processor to make field |
| 995 | access look more like C++ require that `parser' be overwritten |
| 996 | here. This makes this function more painful to follow than it |
| 997 | would be otherwise. |
| 998 | */ |
no test coverage detected