From 656ce948ab664ce96298c5f419a03a7ffcc88d9d Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Fri, 30 Apr 2004 23:11:45 +0000 Subject: [PATCH] Fixed bug #141529 i.e. various problems when building with --without-html * xmllint.c xmlsave.c python/generator.py python/libxml.c: Fixed bug #141529 i.e. various problems when building with --without-html Daniel --- ChangeLog | 5 +++++ python/generator.py | 12 ++++++++++-- python/libxml.c | 18 ++++++++++++++++++ xmllint.c | 4 ++-- xmlsave.c | 6 ++---- 5 files changed, 37 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index d9d117af..44616e42 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat May 1 01:08:44 CEST 2004 Daniel Veillard + + * xmllint.c xmlsave.c python/generator.py python/libxml.c: Fixed + bug #141529 i.e. various problems when building with --without-html + Fri Apr 30 18:12:31 CEST 2004 Daniel Veillard * xmllint.c xmlreader.c: fixing bug #141384 where the reader didn't diff --git a/python/generator.py b/python/generator.py index 0891eede..4c6c8ab5 100755 --- a/python/generator.py +++ b/python/generator.py @@ -432,7 +432,7 @@ def print_function_wrapper(name, output, export, include): include.write("#ifdef LIBXML_DEBUG_ENABLED\n"); export.write("#ifdef LIBXML_DEBUG_ENABLED\n"); output.write("#ifdef LIBXML_DEBUG_ENABLED\n"); - elif file == "HTMLtree" or file == "HTMLparser": + elif file == "HTMLtree" or file == "HTMLparser" or name[0:4] == "html": include.write("#ifdef LIBXML_HTML_ENABLED\n"); export.write("#ifdef LIBXML_HTML_ENABLED\n"); output.write("#ifdef LIBXML_HTML_ENABLED\n"); @@ -470,9 +470,17 @@ def print_function_wrapper(name, output, export, include): if file == "python": # Those have been manually generated + if name[0:4] == "html": + include.write("#endif /* LIBXML_HTML_ENABLED */\n"); + export.write("#endif /* LIBXML_HTML_ENABLED */\n"); + output.write("#endif /* LIBXML_HTML_ENABLED */\n"); return 1 if file == "python_accessor" and ret[0] != "void" and ret[2] is None: # Those have been manually generated + if name[0:4] == "html": + include.write("#endif /* LIBXML_HTML_ENABLED */\n"); + export.write("#endif /* LIBXML_HTML_ENABLED */\n"); + output.write("#endif /* LIBXML_HTML_ENABLED */\n"); return 1 output.write("PyObject *\n") @@ -501,7 +509,7 @@ def print_function_wrapper(name, output, export, include): include.write("#endif /* LIBXML_DEBUG_ENABLED */\n"); export.write("#endif /* LIBXML_DEBUG_ENABLED */\n"); output.write("#endif /* LIBXML_DEBUG_ENABLED */\n"); - elif file == "HTMLtree" or file == "HTMLparser": + elif file == "HTMLtree" or file == "HTMLparser" or name[0:4] == "html": include.write("#endif /* LIBXML_HTML_ENABLED */\n"); export.write("#endif /* LIBXML_HTML_ENABLED */\n"); output.write("#endif /* LIBXML_HTML_ENABLED */\n"); diff --git a/python/libxml.c b/python/libxml.c index 7a19303e..4ab69fb8 100644 --- a/python/libxml.c +++ b/python/libxml.c @@ -1190,6 +1190,7 @@ PyObject * libxml_htmlCreatePushParser(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) { +#ifdef LIBXML_HTML_ENABLED const char *chunk; int size; const char *URI; @@ -1216,6 +1217,10 @@ libxml_htmlCreatePushParser(ATTRIBUTE_UNUSED PyObject * self, XML_CHAR_ENCODING_NONE); pyret = libxml_xmlParserCtxtPtrWrap(ret); return (pyret); +#else + Py_INCREF(Py_None); + return (Py_None); +#endif /* LIBXML_HTML_ENABLED */ } PyObject * @@ -1249,6 +1254,7 @@ libxml_xmlSAXParseFile(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) PyObject * libxml_htmlSAXParseFile(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) { +#ifdef LIBXML_HTML_ENABLED const char *URI; const char *encoding; PyObject *pyobj_SAX = NULL; @@ -1273,6 +1279,10 @@ libxml_htmlSAXParseFile(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) htmlSAXParseFile(URI, encoding, SAX, pyobj_SAX); Py_INCREF(Py_None); return (Py_None); +#else + Py_INCREF(Py_None); + return (Py_None); +#endif /* LIBXML_HTML_ENABLED */ } /************************************************************************ @@ -2430,6 +2440,7 @@ libxml_serializeNode(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) xmlDocDumpFormatMemoryEnc(doc, &c_retval, &len, (const char *) encoding, format); py_retval = libxml_charPtrWrap((char *) c_retval); +#ifdef LIBXML_HTML_ENABLED } else if (node->type == XML_HTML_DOCUMENT_NODE) { xmlOutputBufferPtr buf; xmlCharEncodingHandlerPtr handler = NULL; @@ -2473,6 +2484,7 @@ libxml_serializeNode(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) } (void) xmlOutputBufferClose(buf); py_retval = libxml_charPtrWrap((char *) c_retval); +#endif /* LIBXML_HTML_ENABLED */ } else { if (node->type == XML_NAMESPACE_DECL) doc = NULL; @@ -2508,6 +2520,7 @@ libxml_serializeNode(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) } (void) xmlOutputBufferClose(buf); py_retval = libxml_charPtrWrap((char *) c_retval); +#ifdef LIBXML_HTML_ENABLED } else if (doc->type == XML_HTML_DOCUMENT_NODE) { xmlOutputBufferPtr buf; xmlCharEncodingHandlerPtr handler = NULL; @@ -2549,6 +2562,7 @@ libxml_serializeNode(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) } (void) xmlOutputBufferClose(buf); py_retval = libxml_charPtrWrap((char *) c_retval); +#endif /* LIBXML_HTML_ENABLED */ } else { Py_INCREF(Py_None); return (Py_None); @@ -2594,10 +2608,12 @@ libxml_saveNodeTo(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) } else { doc = node->doc; } +#ifdef LIBXML_HTML_ENABLED if (doc->type == XML_HTML_DOCUMENT_NODE) { if (encoding == NULL) encoding = (const char *) htmlGetMetaEncoding(doc); } +#endif /* LIBXML_HTML_ENABLED */ if (encoding != NULL) { handler = xmlFindCharEncodingHandler(encoding); if (handler == NULL) { @@ -2614,12 +2630,14 @@ libxml_saveNodeTo(ATTRIBUTE_UNUSED PyObject * self, PyObject * args) buf = xmlOutputBufferCreateFile(output, handler); if (node->type == XML_DOCUMENT_NODE) { len = xmlSaveFormatFileTo(buf, doc, encoding, format); +#ifdef LIBXML_HTML_ENABLED } else if (node->type == XML_HTML_DOCUMENT_NODE) { htmlDocContentDumpFormatOutput(buf, doc, encoding, format); len = xmlOutputBufferClose(buf); } else if (doc->type == XML_HTML_DOCUMENT_NODE) { htmlNodeDumpFormatOutput(buf, doc, node, encoding, format); len = xmlOutputBufferClose(buf); +#endif /* LIBXML_HTML_ENABLED */ } else { xmlNodeDumpOutput(buf, doc, node, 0, format, encoding); len = xmlOutputBufferClose(buf); diff --git a/xmllint.c b/xmllint.c index d474d20b..c4d32184 100644 --- a/xmllint.c +++ b/xmllint.c @@ -129,7 +129,7 @@ static xmlSchemaPtr wxschemas = NULL; #endif static int repeat = 0; static int insert = 0; -#ifdef LIBXML_HTML_ENABLED +#if defined(LIBXML_HTML_ENABLED) || defined(LIBXML_VALID_ENABLED) static int html = 0; static int xmlout = 0; #endif @@ -1080,7 +1080,7 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) { if ((timing) && (!repeat)) { startTimer(); } -#ifdef LIBXML_VALID_ENABLED +#ifdef LIBXML_HTML_ENABLED if ((html) && (!xmlout)) { if (compress) { htmlSaveFile(output ? output : "-", doc); diff --git a/xmlsave.c b/xmlsave.c index 6e314164..b4f6de9c 100644 --- a/xmlsave.c +++ b/xmlsave.c @@ -14,11 +14,11 @@ #include #include #include -#ifdef LIBXML_HTML_ENABLED -#include #define MAX_INDENT 60 +#include + /************************************************************************ * * * XHTML detection * @@ -63,8 +63,6 @@ xmlIsXHTML(const xmlChar *systemID, const xmlChar *publicID) { } return(0); } -#endif /* LIBXML_HTML_ENABLED */ - #ifdef LIBXML_OUTPUT_ENABLED