diff options
Diffstat (limited to 'src/resources/tmx.c')
-rw-r--r-- | src/resources/tmx.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/src/resources/tmx.c b/src/resources/tmx.c new file mode 100644 index 0000000..64375e3 --- /dev/null +++ b/src/resources/tmx.c @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2013 Patrick "P. J." McDermott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/>. + */ + +#include <expat.h> +#include <config.h> +#include "tmx.h" +#include "../xml.h" +#include "../logging.h" + +void XMLCALL +tmx_unused_start(void *pv, const char *name, const char **attr) +{ + XML_Parser p = (XML_Parser) pv; + +#ifdef DEBUG_TMX + debug("<%s> (unused)", name); +#endif + + /* Shut up, GCC. */ + for (; *name != '\0'; ++name); + for (; *attr != NULL; ++attr); + + xml_node_push(p, NULL, tmx_unused_start, tmx_unused_end, NULL); +} + +void XMLCALL +tmx_unused_end(void *pv, const char *name) +{ + XML_Parser p = (XML_Parser) pv; + +#ifdef DEBUG_TMX + debug("</%s> (unused)", name); +#endif + + /* Shut up, GCC. */ + for (; *name != '\0'; ++name); + + xml_node_pop(p); +} + +void XMLCALL +tmx_invalid_start(void *pv, const char *name, const char **attr) +{ + XML_Parser p = (XML_Parser) pv; + +#ifdef DEBUG_TMX + debug("<%s> (invalid)", name); +#endif + + /* Shut up, GCC. */ + for (; *attr != NULL; ++attr); + + xml_unexpected_start_tag(p, name, ""); +} + +void XMLCALL +tmx_invalid_end(void *pv, const char *name) +{ + XML_Parser p = (XML_Parser) pv; + +#ifdef DEBUG_TMX + debug("<%s> (invalid)", name); +#endif + + xml_unexpected_end_tag(p, name, ""); +} |