| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- /* Dummy handler functions for the Expat test suite
- __ __ _
- ___\ \/ /_ __ __ _| |_
- / _ \\ /| '_ \ / _` | __|
- | __// \| |_) | (_| | |_
- \___/_/\_\ .__/ \__,_|\__|
- |_| XML parser
- Copyright (c) 2001-2006 Fred L. Drake, Jr. <[email protected]>
- Copyright (c) 2003 Greg Stein <[email protected]>
- Copyright (c) 2005-2007 Steven Solie <[email protected]>
- Copyright (c) 2005-2012 Karl Waclawek <[email protected]>
- Copyright (c) 2016-2022 Sebastian Pipping <[email protected]>
- Copyright (c) 2017-2022 Rhodri James <[email protected]>
- Copyright (c) 2017 Joe Orton <[email protected]>
- Copyright (c) 2017 José Gutiérrez de la Concha <[email protected]>
- Copyright (c) 2018 Marco Maggi <[email protected]>
- Copyright (c) 2019 David Loffredo <[email protected]>
- Copyright (c) 2020 Tim Gates <[email protected]>
- Copyright (c) 2021 Donghee Na <[email protected]>
- Licensed under the MIT license:
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to permit
- persons to whom the Software is furnished to do so, subject to the
- following conditions:
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
- #include "expat.h"
- #include "internal.h"
- #include "common.h"
- #include "dummy.h"
- /* Dummy handlers for when we need to set a handler to tickle a bug,
- but it doesn't need to do anything.
- */
- static unsigned long dummy_handler_flags = 0;
- void
- init_dummy_handlers(void) {
- dummy_handler_flags = 0;
- }
- unsigned long
- get_dummy_handler_flags(void) {
- return dummy_handler_flags;
- }
- void XMLCALL
- dummy_xdecl_handler(void *userData, const XML_Char *version,
- const XML_Char *encoding, int standalone) {
- UNUSED_P(userData);
- UNUSED_P(version);
- UNUSED_P(encoding);
- UNUSED_P(standalone);
- }
- void XMLCALL
- dummy_start_doctype_handler(void *userData, const XML_Char *doctypeName,
- const XML_Char *sysid, const XML_Char *pubid,
- int has_internal_subset) {
- UNUSED_P(userData);
- UNUSED_P(doctypeName);
- UNUSED_P(sysid);
- UNUSED_P(pubid);
- UNUSED_P(has_internal_subset);
- dummy_handler_flags |= DUMMY_START_DOCTYPE_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_end_doctype_handler(void *userData) {
- UNUSED_P(userData);
- dummy_handler_flags |= DUMMY_END_DOCTYPE_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_entity_decl_handler(void *userData, const XML_Char *entityName,
- int is_parameter_entity, const XML_Char *value,
- int value_length, const XML_Char *base,
- const XML_Char *systemId, const XML_Char *publicId,
- const XML_Char *notationName) {
- UNUSED_P(userData);
- UNUSED_P(entityName);
- UNUSED_P(is_parameter_entity);
- UNUSED_P(value);
- UNUSED_P(value_length);
- UNUSED_P(base);
- UNUSED_P(systemId);
- UNUSED_P(publicId);
- UNUSED_P(notationName);
- dummy_handler_flags |= DUMMY_ENTITY_DECL_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_notation_decl_handler(void *userData, const XML_Char *notationName,
- const XML_Char *base, const XML_Char *systemId,
- const XML_Char *publicId) {
- UNUSED_P(userData);
- UNUSED_P(notationName);
- UNUSED_P(base);
- UNUSED_P(systemId);
- UNUSED_P(publicId);
- dummy_handler_flags |= DUMMY_NOTATION_DECL_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_element_decl_handler(void *userData, const XML_Char *name,
- XML_Content *model) {
- UNUSED_P(userData);
- UNUSED_P(name);
- /* The content model must be freed by the handler. Unfortunately
- * we cannot pass the parser as the userData because this is used
- * with other handlers that require other userData.
- */
- XML_FreeContentModel(g_parser, model);
- dummy_handler_flags |= DUMMY_ELEMENT_DECL_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_attlist_decl_handler(void *userData, const XML_Char *elname,
- const XML_Char *attname, const XML_Char *att_type,
- const XML_Char *dflt, int isrequired) {
- UNUSED_P(userData);
- UNUSED_P(elname);
- UNUSED_P(attname);
- UNUSED_P(att_type);
- UNUSED_P(dflt);
- UNUSED_P(isrequired);
- dummy_handler_flags |= DUMMY_ATTLIST_DECL_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_comment_handler(void *userData, const XML_Char *data) {
- UNUSED_P(userData);
- UNUSED_P(data);
- dummy_handler_flags |= DUMMY_COMMENT_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_pi_handler(void *userData, const XML_Char *target, const XML_Char *data) {
- UNUSED_P(userData);
- UNUSED_P(target);
- UNUSED_P(data);
- dummy_handler_flags |= DUMMY_PI_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_start_element(void *userData, const XML_Char *name,
- const XML_Char **atts) {
- UNUSED_P(userData);
- UNUSED_P(name);
- UNUSED_P(atts);
- dummy_handler_flags |= DUMMY_START_ELEMENT_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_end_element(void *userData, const XML_Char *name) {
- UNUSED_P(userData);
- UNUSED_P(name);
- }
- void XMLCALL
- dummy_start_cdata_handler(void *userData) {
- UNUSED_P(userData);
- dummy_handler_flags |= DUMMY_START_CDATA_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_end_cdata_handler(void *userData) {
- UNUSED_P(userData);
- dummy_handler_flags |= DUMMY_END_CDATA_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_cdata_handler(void *userData, const XML_Char *s, int len) {
- UNUSED_P(userData);
- UNUSED_P(s);
- UNUSED_P(len);
- }
- void XMLCALL
- dummy_start_namespace_decl_handler(void *userData, const XML_Char *prefix,
- const XML_Char *uri) {
- UNUSED_P(userData);
- UNUSED_P(prefix);
- UNUSED_P(uri);
- dummy_handler_flags |= DUMMY_START_NS_DECL_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_end_namespace_decl_handler(void *userData, const XML_Char *prefix) {
- UNUSED_P(userData);
- UNUSED_P(prefix);
- dummy_handler_flags |= DUMMY_END_NS_DECL_HANDLER_FLAG;
- }
- /* This handler is obsolete, but while the code exists we should
- * ensure that dealing with the handler is covered by tests.
- */
- void XMLCALL
- dummy_unparsed_entity_decl_handler(void *userData, const XML_Char *entityName,
- const XML_Char *base,
- const XML_Char *systemId,
- const XML_Char *publicId,
- const XML_Char *notationName) {
- UNUSED_P(userData);
- UNUSED_P(entityName);
- UNUSED_P(base);
- UNUSED_P(systemId);
- UNUSED_P(publicId);
- UNUSED_P(notationName);
- dummy_handler_flags |= DUMMY_UNPARSED_ENTITY_DECL_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_default_handler(void *userData, const XML_Char *s, int len) {
- UNUSED_P(userData);
- UNUSED_P(s);
- UNUSED_P(len);
- }
- void XMLCALL
- dummy_start_doctype_decl_handler(void *userData, const XML_Char *doctypeName,
- const XML_Char *sysid, const XML_Char *pubid,
- int has_internal_subset) {
- UNUSED_P(userData);
- UNUSED_P(doctypeName);
- UNUSED_P(sysid);
- UNUSED_P(pubid);
- UNUSED_P(has_internal_subset);
- dummy_handler_flags |= DUMMY_START_DOCTYPE_DECL_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_end_doctype_decl_handler(void *userData) {
- UNUSED_P(userData);
- dummy_handler_flags |= DUMMY_END_DOCTYPE_DECL_HANDLER_FLAG;
- }
- void XMLCALL
- dummy_skip_handler(void *userData, const XML_Char *entityName,
- int is_parameter_entity) {
- UNUSED_P(userData);
- UNUSED_P(entityName);
- UNUSED_P(is_parameter_entity);
- dummy_handler_flags |= DUMMY_SKIP_HANDLER_FLAG;
- }
|