get rid of the readline and libhistory dependancies by default, release
* configure.in: get rid of the readline and libhistory
dependancies by default, release 2.4.1 with IA64 fix
* nanohttp.c tree.c xmlIO.c include/libxml/nanohttp.h
include/libxml/tree.h include/libxml/xmlIO.h: incorporated
John Kroll fixes to allow saving to HTTP via PUT (or
POST of needed).
* doc/html/*.html: regenerated the docs
Daniel
diff --git a/tree.c b/tree.c
index e6d074e..f623476 100644
--- a/tree.c
+++ b/tree.c
@@ -6408,17 +6408,15 @@
}
/**
- * xmlSaveFileEnc:
- * @filename: the filename (or URL)
- * @cur: the document
- * @encoding: the name of an encoding (or NULL)
- *
- * Dump an XML document, converting it to the given encoding
- *
- * returns: the number of byte written or -1 in case of failure.
+ * xmlSaveFormatFileEnc
+ * @filename: the filename or URL to output
+ * @cur: the document being saved
+ * @encoding: the name of the encoding to use or NULL.
+ * @format: should formatting spaces be added.
*/
int
-xmlSaveFileEnc(const char *filename, xmlDocPtr cur, const char *encoding) {
+xmlSaveFormatFileEnc( const char * filename, xmlDocPtr cur,
+ const char * encoding, int format ) {
xmlOutputBufferPtr buf;
xmlCharEncodingHandlerPtr handler = NULL;
xmlCharEncoding enc;
@@ -6439,18 +6437,37 @@
}
}
+#ifdef HAVE_ZLIB_H
+ if (cur->compression < 0) cur->compression = xmlCompressMode;
+#endif
/*
* save the content to a temp buffer.
*/
- buf = xmlOutputBufferCreateFilename(filename, handler, 0);
+ buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression);
if (buf == NULL) return(-1);
- xmlDocContentDumpOutput(buf, cur, encoding, 0);
+ xmlDocContentDumpOutput(buf, cur, encoding, format);
ret = xmlOutputBufferClose(buf);
return(ret);
}
+
+/**
+ * xmlSaveFileEnc:
+ * @filename: the filename (or URL)
+ * @cur: the document
+ * @encoding: the name of an encoding (or NULL)
+ *
+ * Dump an XML document, converting it to the given encoding
+ *
+ * returns: the number of byte written or -1 in case of failure.
+ */
+int
+xmlSaveFileEnc(const char *filename, xmlDocPtr cur, const char *encoding) {
+ return ( xmlSaveFormatFileEnc( filename, cur, encoding, 0 ) );
+}
+
/**
* xmlSaveFormatFile:
* @filename: the filename (or URL)
@@ -6465,47 +6482,7 @@
*/
int
xmlSaveFormatFile(const char *filename, xmlDocPtr cur, int format) {
- xmlOutputBufferPtr buf;
- const char *encoding;
- xmlCharEncodingHandlerPtr handler = NULL;
- int ret;
-
- if (cur == NULL)
- return(-1);
- encoding = (const char *) cur->encoding;
-
- /*
- * save the content to a temp buffer.
- */
-#ifdef HAVE_ZLIB_H
- if (cur->compression < 0) cur->compression = xmlCompressMode;
-#endif
- if (encoding != NULL) {
- xmlCharEncoding enc;
-
- enc = xmlParseCharEncoding(encoding);
-
- if (cur->charset != XML_CHAR_ENCODING_UTF8) {
- xmlGenericError(xmlGenericErrorContext,
- "xmlSaveFile: document not in UTF8\n");
- return(-1);
- }
- if (enc != XML_CHAR_ENCODING_UTF8) {
- handler = xmlFindCharEncodingHandler(encoding);
- if (handler == NULL) {
- xmlFree((char *) cur->encoding);
- cur->encoding = NULL;
- }
- }
- }
-
- buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression);
- if (buf == NULL) return(-1);
-
- xmlDocContentDumpOutput(buf, cur, NULL, format);
-
- ret = xmlOutputBufferClose(buf);
- return(ret);
+ return ( xmlSaveFormatFileEnc( filename, cur, NULL, format ) );
}
/**
@@ -6520,6 +6497,6 @@
*/
int
xmlSaveFile(const char *filename, xmlDocPtr cur) {
- return(xmlSaveFormatFile(filename, cur, 0));
+ return(xmlSaveFormatFileEnc(filename, cur, NULL, 0));
}