- Fixed bug #4344 - Fixed C++ problems in headers - Released 1.8.1 Daniel

- Fixed bug #4344
- Fixed C++ problems in headers
- Released 1.8.1
Daniel
diff --git a/SAX.h b/SAX.h
index 2912f36..09ccf3f 100644
--- a/SAX.h
+++ b/SAX.h
@@ -1,5 +1,5 @@
 /*
- * SAX.c : Default SAX handler interfaces.
+ * SAX.h : Default SAX handler interfaces.
  *
  * See Copyright for the status of this software.
  *
@@ -14,6 +14,10 @@
 
 #ifndef __XML_SAX_H__
 #define __XML_SAX_H__
+
+#ifdef __cplusplus
+#define extern "C" {
+#endif
 const xmlChar *	getPublicId			(void *ctx);
 const xmlChar *	getSystemId			(void *ctx);
 void	setDocumentLocator			(void *ctx,
@@ -105,4 +109,7 @@
 
 void		xmlDefaultSAXHandlerInit	(void);
 void		htmlDefaultSAXHandlerInit	(void);
+#ifdef __cplusplus
+}
+#endif
 #endif /* __XML_SAX_H__ */
diff --git a/doc/xml.html b/doc/xml.html
index 0e74ab7..9c6909c 100644
--- a/doc/xml.html
+++ b/doc/xml.html
Binary files differ
diff --git a/include/libxml/SAX.h b/include/libxml/SAX.h
index 2912f36..09ccf3f 100644
--- a/include/libxml/SAX.h
+++ b/include/libxml/SAX.h
@@ -1,5 +1,5 @@
 /*
- * SAX.c : Default SAX handler interfaces.
+ * SAX.h : Default SAX handler interfaces.
  *
  * See Copyright for the status of this software.
  *
@@ -14,6 +14,10 @@
 
 #ifndef __XML_SAX_H__
 #define __XML_SAX_H__
+
+#ifdef __cplusplus
+#define extern "C" {
+#endif
 const xmlChar *	getPublicId			(void *ctx);
 const xmlChar *	getSystemId			(void *ctx);
 void	setDocumentLocator			(void *ctx,
@@ -105,4 +109,7 @@
 
 void		xmlDefaultSAXHandlerInit	(void);
 void		htmlDefaultSAXHandlerInit	(void);
+#ifdef __cplusplus
+}
+#endif
 #endif /* __XML_SAX_H__ */
diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h
index 9a082ce..1e5aea4 100644
--- a/include/libxml/xpath.h
+++ b/include/libxml/xpath.h
@@ -12,6 +12,9 @@
 #ifndef __XML_XPATH_H__
 #define __XML_XPATH_H__
 
+#ifdef __cplusplus
+#define extern "C" {
+#endif
 #include "tree.h"
 
 typedef struct xmlXPathParserContext *xmlXPathParserContextPtr;
@@ -202,4 +205,7 @@
 xmlXPathObjectPtr  xmlXPathEvalExpression	(const xmlChar *str,
 						 xmlXPathContextPtr ctxt);
 
+#ifdef __cplusplus
+}
+#endif
 #endif /* ! __XML_XPATH_H__ */
diff --git a/xml-error.h b/xml-error.h
index 329656a..b210e19 100644
--- a/xml-error.h
+++ b/xml-error.h
@@ -1,6 +1,9 @@
 #ifndef __XML_ERROR_H__
 #define __XML_ERROR_H__
 
+#ifdef __cplusplus
+#define extern "C" {
+#endif
 #include "parser.h"
 
 typedef enum {
@@ -131,4 +134,7 @@
 void	xmlParserPrintFileInfo	(xmlParserInputPtr input);
 void	xmlParserPrintFileContext(xmlParserInputPtr input);
 
+#ifdef __cplusplus
+}
+#endif
 #endif /* __XML_ERROR_H__ */
diff --git a/xpath.h b/xpath.h
index 9a082ce..1e5aea4 100644
--- a/xpath.h
+++ b/xpath.h
@@ -12,6 +12,9 @@
 #ifndef __XML_XPATH_H__
 #define __XML_XPATH_H__
 
+#ifdef __cplusplus
+#define extern "C" {
+#endif
 #include "tree.h"
 
 typedef struct xmlXPathParserContext *xmlXPathParserContextPtr;
@@ -202,4 +205,7 @@
 xmlXPathObjectPtr  xmlXPathEvalExpression	(const xmlChar *str,
 						 xmlXPathContextPtr ctxt);
 
+#ifdef __cplusplus
+}
+#endif
 #endif /* ! __XML_XPATH_H__ */