From 4c28bb16814d8ef2b89aacd116e27656eda2a5c8 Mon Sep 17 00:00:00 2001 From: Rhodri James Date: Fri, 28 Oct 2022 19:56:09 +0100 Subject: [PATCH] Move external_entity_ref_param_checker out of runtests.c --- expat/tests/handlers.c | 26 ++++++++++++++++++++++++++ expat/tests/handlers.h | 6 ++++++ expat/tests/runtests.c | 26 -------------------------- 3 files changed, 32 insertions(+), 26 deletions(-) diff --git a/expat/tests/handlers.c b/expat/tests/handlers.c index 08f0d2bb..dbf16dc8 100644 --- a/expat/tests/handlers.c +++ b/expat/tests/handlers.c @@ -585,6 +585,32 @@ external_entity_param_checker(XML_Parser parser, const XML_Char *context, return XML_STATUS_OK; } +int XMLCALL +external_entity_ref_param_checker(XML_Parser parameter, const XML_Char *context, + const XML_Char *base, + const XML_Char *systemId, + const XML_Char *publicId) { + const char *text = ""; + XML_Parser ext_parser; + + UNUSED_P(base); + UNUSED_P(systemId); + UNUSED_P(publicId); + if ((void *)parameter != g_handler_data) + fail("External entity ref handler parameter not correct"); + + /* Here we use the global 'parser' variable */ + ext_parser = XML_ExternalEntityParserCreate(g_parser, context, NULL); + if (ext_parser == NULL) + fail("Could not create external entity parser"); + if (_XML_Parse_SINGLE_BYTES(ext_parser, text, (int)strlen(text), XML_TRUE) + == XML_STATUS_ERROR) + xml_failure(ext_parser); + + XML_ParserFree(ext_parser); + return XML_STATUS_OK; +} + /* NotStandalone handlers */ int XMLCALL diff --git a/expat/tests/handlers.h b/expat/tests/handlers.h index 485a99c5..0284eacb 100644 --- a/expat/tests/handlers.h +++ b/expat/tests/handlers.h @@ -208,6 +208,12 @@ extern int XMLCALL external_entity_param_checker(XML_Parser parser, const XML_Char *systemId, const XML_Char *publicId); +extern int XMLCALL external_entity_ref_param_checker(XML_Parser parameter, + const XML_Char *context, + const XML_Char *base, + const XML_Char *systemId, + const XML_Char *publicId); + /* NotStandalone handlers */ extern int XMLCALL reject_not_standalone_handler(void *userData); diff --git a/expat/tests/runtests.c b/expat/tests/runtests.c index fc52c042..f8adf8b0 100644 --- a/expat/tests/runtests.c +++ b/expat/tests/runtests.c @@ -83,32 +83,6 @@ XML_Parser g_parser = NULL; * global 'parser' variable to create our external entity parser from, * since there are code paths we need to ensure get executed. */ -static int XMLCALL -external_entity_ref_param_checker(XML_Parser parameter, const XML_Char *context, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId) { - const char *text = ""; - XML_Parser ext_parser; - - UNUSED_P(base); - UNUSED_P(systemId); - UNUSED_P(publicId); - if ((void *)parameter != g_handler_data) - fail("External entity ref handler parameter not correct"); - - /* Here we use the global 'parser' variable */ - ext_parser = XML_ExternalEntityParserCreate(g_parser, context, NULL); - if (ext_parser == NULL) - fail("Could not create external entity parser"); - if (_XML_Parse_SINGLE_BYTES(ext_parser, text, (int)strlen(text), XML_TRUE) - == XML_STATUS_ERROR) - xml_failure(ext_parser); - - XML_ParserFree(ext_parser); - return XML_STATUS_OK; -} - START_TEST(test_ext_entity_ref_parameter) { const char *text = "\n" "\n"