mirror of
https://github.com/CTCaer/RetroArch.git
synced 2024-12-13 22:08:34 +00:00
(Android) Define WANT_LIBXML2 - Griffin compiles in libxml2
This commit is contained in:
parent
68ca851156
commit
05d04e443d
@ -26,35 +26,15 @@ endif
|
||||
LOCAL_MODULE := retroarch-activity
|
||||
|
||||
RARCH_PATH := ../../..
|
||||
LIBXML_PATH := ../libxml2
|
||||
LOCAL_LIBXML_SRC_FILES = $(LIBXML_PATH)/chvalid.c \
|
||||
$(LIBXML_PATH)/dict.c \
|
||||
$(LIBXML_PATH)/encoding.c \
|
||||
$(LIBXML_PATH)/entities.c \
|
||||
$(LIBXML_PATH)/error.c \
|
||||
$(LIBXML_PATH)/globals.c \
|
||||
$(LIBXML_PATH)/hash.c \
|
||||
$(LIBXML_PATH)/list.c \
|
||||
$(LIBXML_PATH)/parser.c \
|
||||
$(LIBXML_PATH)/parserInternals.c \
|
||||
$(LIBXML_PATH)/SAX2.c \
|
||||
$(LIBXML_PATH)/threads.c \
|
||||
$(LIBXML_PATH)/tree.c \
|
||||
$(LIBXML_PATH)/uri.c \
|
||||
$(LIBXML_PATH)/valid.c \
|
||||
$(LIBXML_PATH)/xmlIO.c \
|
||||
$(LIBXML_PATH)/xmlmemory.c \
|
||||
$(LIBXML_PATH)/xmlreader.c \
|
||||
$(LIBXML_PATH)/xmlsave.c \
|
||||
$(LIBXML_PATH)/xmlstring.c
|
||||
LOCAL_SRC_FILES = $(RARCH_PATH)/console/griffin/griffin.c $(LOCAL_LIBXML_SRC_FILES)
|
||||
LIBXML_PATH := ../../../deps/libxml2
|
||||
LOCAL_SRC_FILES = $(RARCH_PATH)/console/griffin/griffin.c
|
||||
|
||||
|
||||
ifeq ($(PERF_TEST), 1)
|
||||
LOCAL_CFLAGS += -DPERF_TEST
|
||||
endif
|
||||
|
||||
LOCAL_CFLAGS += -O3 -fno-stack-protector -funroll-loops -DNDEBUG -DHAVE_GRIFFIN -DANDROID -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_VID_CONTEXT -DHAVE_OPENGLES2 -DGLSL_DEBUG -DHAVE_GLSL -DHAVE_XML -DHAVE_ZLIB -DWANT_RZLIB -DINLINE=inline -DLSB_FIRST -DHAVE_THREAD -D__LIBRETRO__ -DHAVE_CONFIGFILE=1 -DRARCH_PERFORMANCE_MODE -DRARCH_GPU_PERFORMANCE_MODE -DPACKAGE_VERSION=\"$(RARCH_VERSION)\" -std=gnu99
|
||||
LOCAL_CFLAGS += -O3 -fno-stack-protector -funroll-loops -DNDEBUG -DHAVE_GRIFFIN -DANDROID -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_VID_CONTEXT -DHAVE_OPENGLES2 -DGLSL_DEBUG -DHAVE_GLSL -DHAVE_XML -DHAVE_ZLIB -DWANT_RZLIB -DWANT_LIBXML2 -DINLINE=inline -DLSB_FIRST -DHAVE_THREAD -D__LIBRETRO__ -DHAVE_CONFIGFILE=1 -DRARCH_PERFORMANCE_MODE -DRARCH_GPU_PERFORMANCE_MODE -DPACKAGE_VERSION=\"$(RARCH_VERSION)\" -std=gnu99
|
||||
|
||||
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -landroid -lEGL -lGLESv2 -llog -ldl
|
||||
LOCAL_C_INCLUDES += $(LIBXML_PATH)
|
||||
|
@ -386,6 +386,32 @@ RZLIB
|
||||
#include "../../deps/rzlib/rzlib.c"
|
||||
#endif
|
||||
|
||||
/*============================================================
|
||||
LIBXML2
|
||||
============================================================ */
|
||||
#ifdef WANT_LIBXML2
|
||||
#include "../../deps/libxml2/error.c"
|
||||
#include "../../deps/libxml2/chvalid.c"
|
||||
#include "../../deps/libxml2/dict.c"
|
||||
#include "../../deps/libxml2/encoding.c"
|
||||
#include "../../deps/libxml2/entities.c"
|
||||
#include "../../deps/libxml2/globals.c"
|
||||
#include "../../deps/libxml2/libxml_hash.c"
|
||||
#include "../../deps/libxml2/libxml_list.c"
|
||||
#include "../../deps/libxml2/parser.c"
|
||||
#include "../../deps/libxml2/parserInternals.c"
|
||||
#include "../../deps/libxml2/SAX2.c"
|
||||
#include "../../deps/libxml2/libxml_threads.c"
|
||||
#include "../../deps/libxml2/tree.c"
|
||||
#include "../../deps/libxml2/uri.c"
|
||||
#include "../../deps/libxml2/valid.c"
|
||||
#include "../../deps/libxml2/xmlIO.c"
|
||||
#include "../../deps/libxml2/xmlmemory.c"
|
||||
#include "../../deps/libxml2/xmlreader.c"
|
||||
#include "../../deps/libxml2/xmlsave.c"
|
||||
#include "../../deps/libxml2/xmlstring.c"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
@ -72,7 +72,7 @@ xmlSAX2ErrMemory(xmlParserCtxtPtr ctxt, const char *msg) {
|
||||
* Handle a validation error
|
||||
*/
|
||||
static void
|
||||
xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
|
||||
SAXxmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
|
||||
const char *msg, const char *str1, const char *str2)
|
||||
{
|
||||
xmlStructuredErrorFunc schannel = NULL;
|
||||
@ -102,7 +102,7 @@ xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlFatalErrMsg:
|
||||
* SAXxmlFatalErrMsg:
|
||||
* @ctxt: an XML parser context
|
||||
* @error: the error number
|
||||
* @msg: the error message
|
||||
@ -112,7 +112,7 @@ xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
|
||||
* Handle a fatal parser error, i.e. violating Well-Formedness constraints
|
||||
*/
|
||||
static void
|
||||
xmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
|
||||
SAXxmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
|
||||
const char *msg, const xmlChar *str1, const xmlChar *str2)
|
||||
{
|
||||
if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
|
||||
@ -529,7 +529,7 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name)
|
||||
ctxt->myDoc->standalone = 0;
|
||||
ret = xmlGetDocEntity(ctxt->myDoc, name);
|
||||
if (ret != NULL) {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_NOT_STANDALONE,
|
||||
SAXxmlFatalErrMsg(ctxt, XML_ERR_NOT_STANDALONE,
|
||||
"Entity(%s) document marked standalone but requires external subset\n",
|
||||
name, NULL);
|
||||
}
|
||||
@ -556,7 +556,7 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name)
|
||||
if (val == 0) {
|
||||
xmlAddChildList((xmlNodePtr) ret, children);
|
||||
} else {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING,
|
||||
SAXxmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING,
|
||||
"Failure to process entity %s\n", name, NULL);
|
||||
ctxt->validate = 0;
|
||||
return(NULL);
|
||||
@ -648,7 +648,7 @@ xmlSAX2EntityDecl(void *ctx, const xmlChar *name, int type,
|
||||
ent->URI = URI;
|
||||
}
|
||||
} else {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING,
|
||||
SAXxmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING,
|
||||
"SAX.xmlSAX2EntityDecl(%s) called while not in subset\n",
|
||||
name, NULL);
|
||||
}
|
||||
@ -684,7 +684,7 @@ xmlSAX2AttributeDecl(void *ctx, const xmlChar *elem, const xmlChar *fullname,
|
||||
* Raise the error but keep the validity flag
|
||||
*/
|
||||
int tmp = ctxt->valid;
|
||||
xmlErrValid(ctxt, XML_DTD_XMLID_TYPE,
|
||||
SAXxmlErrValid(ctxt, XML_DTD_XMLID_TYPE,
|
||||
"xml:id : attribute type should be ID\n", NULL, NULL);
|
||||
ctxt->valid = tmp;
|
||||
}
|
||||
@ -700,7 +700,7 @@ xmlSAX2AttributeDecl(void *ctx, const xmlChar *elem, const xmlChar *fullname,
|
||||
name, prefix, (xmlAttributeType) type,
|
||||
(xmlAttributeDefault) def, defaultValue, tree);
|
||||
else {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
|
||||
SAXxmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
|
||||
"SAX.xmlSAX2AttributeDecl(%s) called while not in subset\n",
|
||||
name, NULL);
|
||||
xmlFreeEnumeration(tree);
|
||||
@ -739,7 +739,7 @@ xmlSAX2ElementDecl(void *ctx, const xmlChar * name, int type,
|
||||
elem = xmlAddElementDecl(&ctxt->vctxt, ctxt->myDoc->extSubset,
|
||||
name, (xmlElementTypeVal) type, content);
|
||||
else {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
|
||||
SAXxmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
|
||||
"SAX.xmlSAX2ElementDecl(%s) called while not in subset\n",
|
||||
name, NULL);
|
||||
return;
|
||||
@ -767,7 +767,7 @@ xmlSAX2NotationDecl(void *ctx, const xmlChar *name,
|
||||
|
||||
|
||||
if ((publicId == NULL) && (systemId == NULL)) {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_NOTATION_PROCESSING,
|
||||
SAXxmlFatalErrMsg(ctxt, XML_ERR_NOTATION_PROCESSING,
|
||||
"SAX.xmlSAX2NotationDecl(%s) externalID or PublicID missing\n",
|
||||
name, NULL);
|
||||
return;
|
||||
@ -778,7 +778,7 @@ xmlSAX2NotationDecl(void *ctx, const xmlChar *name,
|
||||
nota = xmlAddNotationDecl(&ctxt->vctxt, ctxt->myDoc->extSubset, name,
|
||||
publicId, systemId);
|
||||
else {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_NOTATION_PROCESSING,
|
||||
SAXxmlFatalErrMsg(ctxt, XML_ERR_NOTATION_PROCESSING,
|
||||
"SAX.xmlSAX2NotationDecl(%s) called while not in subset\n",
|
||||
name, NULL);
|
||||
return;
|
||||
@ -844,7 +844,7 @@ xmlSAX2UnparsedEntityDecl(void *ctx, const xmlChar *name,
|
||||
ent->URI = URI;
|
||||
}
|
||||
} else {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
|
||||
SAXxmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
|
||||
"SAX.xmlSAX2UnparsedEntityDecl(%s) called while not in subset\n",
|
||||
name, NULL);
|
||||
}
|
||||
@ -1220,7 +1220,7 @@ xmlSAX2StartElementNs(void *ctx,
|
||||
(ctxt->myDoc->intSubset->elements == NULL) &&
|
||||
(ctxt->myDoc->intSubset->attributes == NULL) &&
|
||||
(ctxt->myDoc->intSubset->entities == NULL)))) {
|
||||
xmlErrValid(ctxt, XML_ERR_NO_DTD,
|
||||
SAXxmlErrValid(ctxt, XML_ERR_NO_DTD,
|
||||
"Validation failed: no DTD found !", NULL, NULL);
|
||||
ctxt->validate = 0;
|
||||
}
|
@ -56,18 +56,21 @@ typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
|
||||
const char *msg,
|
||||
...) LIBXML_ATTR_FORMAT(2,3);
|
||||
|
||||
#ifdef IN_LIBXML
|
||||
/**
|
||||
* XML_CTXT_FINISH_DTD_0:
|
||||
*
|
||||
* Special value for finishDtd field when embedded in an xmlParserCtxt
|
||||
*/
|
||||
#ifndef XML_CTXT_FINISH_DTD_0
|
||||
#define XML_CTXT_FINISH_DTD_0 0xabcd1234
|
||||
#endif
|
||||
|
||||
/**
|
||||
* XML_CTXT_FINISH_DTD_1:
|
||||
*
|
||||
* Special value for finishDtd field when embedded in an xmlParserCtxt
|
||||
*/
|
||||
#ifndef XML_CTXT_FINISH_DTD_1
|
||||
#define XML_CTXT_FINISH_DTD_1 0xabcd1235
|
||||
#endif
|
||||
|
@ -43,7 +43,10 @@
|
||||
#include <libxml/xmlerror.h>
|
||||
#include <libxml/globals.h>
|
||||
|
||||
#ifndef MAX_HASH_LEN
|
||||
#undef MAX_HASH_LEN
|
||||
#define MAX_HASH_LEN 8
|
||||
#endif
|
||||
|
||||
#ifdef HASH_RANDOMIZATION
|
||||
static int hash_initialized = 0;
|
@ -338,7 +338,7 @@ xmlSplitQName3(const xmlChar *name, int *len) {
|
||||
* *
|
||||
************************************************************************/
|
||||
|
||||
#define CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
|
||||
#define TREE_CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
|
||||
|
||||
#if defined(LIBXML_TREE_ENABLED)
|
||||
/**
|
||||
@ -384,27 +384,27 @@ try_complex:
|
||||
* Second check for chars outside the ASCII range
|
||||
*/
|
||||
cur = value;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
if (space) {
|
||||
while (IS_BLANK(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if ((!IS_LETTER(c)) && (c != '_'))
|
||||
return(1);
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') ||
|
||||
(c == '-') || (c == '_') || IS_COMBINING(c) ||
|
||||
IS_EXTENDER(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
if (space) {
|
||||
while (IS_BLANK(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if (c != 0)
|
||||
@ -471,41 +471,41 @@ try_complex:
|
||||
* Second check for chars outside the ASCII range
|
||||
*/
|
||||
cur = value;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
if (space) {
|
||||
while (IS_BLANK(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if ((!IS_LETTER(c)) && (c != '_'))
|
||||
return(1);
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') ||
|
||||
(c == '-') || (c == '_') || IS_COMBINING(c) ||
|
||||
IS_EXTENDER(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
if (c == ':') {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
if ((!IS_LETTER(c)) && (c != '_'))
|
||||
return(1);
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') ||
|
||||
(c == '-') || (c == '_') || IS_COMBINING(c) ||
|
||||
IS_EXTENDER(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if (space) {
|
||||
while (IS_BLANK(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if (c != 0)
|
||||
@ -555,26 +555,26 @@ try_complex:
|
||||
* Second check for chars outside the ASCII range
|
||||
*/
|
||||
cur = value;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
if (space) {
|
||||
while (IS_BLANK(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if ((!IS_LETTER(c)) && (c != '_') && (c != ':'))
|
||||
return(1);
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') ||
|
||||
(c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
if (space) {
|
||||
while (IS_BLANK(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if (c != 0)
|
||||
@ -626,27 +626,27 @@ try_complex:
|
||||
* Second check for chars outside the ASCII range
|
||||
*/
|
||||
cur = value;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
if (space) {
|
||||
while (IS_BLANK(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if (!(IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') ||
|
||||
(c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c)))
|
||||
return(1);
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') ||
|
||||
(c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
if (space) {
|
||||
while (IS_BLANK(c)) {
|
||||
cur += l;
|
||||
c = CUR_SCHAR(cur, l);
|
||||
c = TREE_CUR_SCHAR(cur, l);
|
||||
}
|
||||
}
|
||||
if (c != 0)
|
@ -92,7 +92,7 @@ static void xmlCleanURI(xmlURIPtr uri);
|
||||
* Skip to next pointer char, handle escaped sequences
|
||||
*/
|
||||
|
||||
#define NEXT(p) ((*p == '%')? p += 3 : p++)
|
||||
#define URI_NEXT(p) ((*p == '%')? p += 3 : p++)
|
||||
|
||||
/*
|
||||
* Productions from the spec.
|
||||
@ -222,7 +222,7 @@ xmlParse3986Fragment(xmlURIPtr uri, const char **str)
|
||||
while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') ||
|
||||
(*cur == '[') || (*cur == ']') ||
|
||||
((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
|
||||
NEXT(cur);
|
||||
URI_NEXT(cur);
|
||||
if (uri != NULL) {
|
||||
if (uri->fragment != NULL)
|
||||
xmlFree(uri->fragment);
|
||||
@ -258,7 +258,7 @@ xmlParse3986Query(xmlURIPtr uri, const char **str)
|
||||
|
||||
while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') ||
|
||||
((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
|
||||
NEXT(cur);
|
||||
URI_NEXT(cur);
|
||||
if (uri != NULL) {
|
||||
if (uri->query != NULL)
|
||||
xmlFree(uri->query);
|
||||
@ -329,7 +329,7 @@ xmlParse3986Userinfo(xmlURIPtr uri, const char **str)
|
||||
cur = *str;
|
||||
while (ISA_UNRESERVED(cur) || ISA_PCT_ENCODED(cur) ||
|
||||
ISA_SUB_DELIM(cur) || (*cur == ':'))
|
||||
NEXT(cur);
|
||||
URI_NEXT(cur);
|
||||
if (*cur == '@') {
|
||||
if (uri != NULL) {
|
||||
if (uri->user != NULL) xmlFree(uri->user);
|
||||
@ -442,7 +442,7 @@ not_ipv4:
|
||||
* then this should be a hostname which can be empty
|
||||
*/
|
||||
while (ISA_UNRESERVED(cur) || ISA_PCT_ENCODED(cur) || ISA_SUB_DELIM(cur))
|
||||
NEXT(cur);
|
||||
URI_NEXT(cur);
|
||||
found:
|
||||
if (uri != NULL) {
|
||||
if (uri->authority != NULL) xmlFree(uri->authority);
|
||||
@ -526,7 +526,7 @@ xmlParse3986Segment(const char **str, char forbid, int empty)
|
||||
return(1);
|
||||
}
|
||||
while (ISA_PCHAR(cur) && (*cur != forbid))
|
||||
NEXT(cur);
|
||||
URI_NEXT(cur);
|
||||
*str = cur;
|
||||
return (0);
|
||||
}
|
@ -171,13 +171,13 @@ static void xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur);
|
||||
static void xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur);
|
||||
|
||||
/**
|
||||
* xmlFreeID:
|
||||
* ReaderxmlFreeID:
|
||||
* @not: A id
|
||||
*
|
||||
* Deallocate the memory used by an id definition
|
||||
*/
|
||||
static void
|
||||
xmlFreeID(xmlIDPtr id) {
|
||||
ReaderxmlFreeID(xmlIDPtr id) {
|
||||
xmlDictPtr dict = NULL;
|
||||
|
||||
if (id == NULL) return;
|
||||
@ -439,7 +439,7 @@ xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur) {
|
||||
*/
|
||||
static void
|
||||
xmlTextReaderFreeIDTable(xmlIDTablePtr table) {
|
||||
xmlHashFree(table, (xmlHashDeallocator) xmlFreeID);
|
||||
xmlHashFree(table, (xmlHashDeallocator) ReaderxmlFreeID);
|
||||
}
|
||||
|
||||
/**
|
Loading…
Reference in New Issue
Block a user