the uri arg to xmlNodeSetBase is really a const xmlChar* addin the

* tree.c include/libxml/tree.h: the uri arg to xmlNodeSetBase is
  really a const xmlChar*
* xmlreader.c include/libxml/xmlreader.h: addin the
  xmlTextReaderConstString() to get an interned string from
  the reader
Daniel
diff --git a/ChangeLog b/ChangeLog
index 70da84b..112c0f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Sep 22 12:21:11 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+	* tree.c include/libxml/tree.h: the uri arg to xmlNodeSetBase is
+	  really a const xmlChar*
+	* xmlreader.c include/libxml/xmlreader.h: addin the
+	  xmlTextReaderConstString() to get an interned string from
+	  the reader
+
 Sun Sep 20 17:22:20 PDT 2003 William Brack <wbrack@mmm.com.hk>
 
 	* error.c: fixed a warning message (trivial)
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index 5ead191..686364f 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -926,7 +926,7 @@
 					 xmlNodePtr cur);
 XMLPUBFUN void XMLCALL		
 		xmlNodeSetBase		(xmlNodePtr cur,
-					 xmlChar *uri);
+					 const xmlChar *uri);
 
 /*
  * Removing content.
diff --git a/include/libxml/xmlreader.h b/include/libxml/xmlreader.h
index c8af21a..139b1de 100644
--- a/include/libxml/xmlreader.h
+++ b/include/libxml/xmlreader.h
@@ -131,6 +131,10 @@
 		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
 XMLPUBFUN const xmlChar * XMLCALL	
 		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
+XMLPUBFUN const xmlChar * XMLCALL	
+		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
+		    				 const xmlChar *str);
+
 /*
  * Methods of the XmlTextReader
  */
diff --git a/tree.c b/tree.c
index a65fda8..8fc7e85 100644
--- a/tree.c
+++ b/tree.c
@@ -4550,7 +4550,7 @@
  * xml:base attribute.
  */
 void
-xmlNodeSetBase(xmlNodePtr cur, xmlChar* uri) {
+xmlNodeSetBase(xmlNodePtr cur, const xmlChar* uri) {
     xmlNsPtr ns;
 
     if (cur == NULL) return;
diff --git a/xmlreader.c b/xmlreader.c
index 6c52e1f..8109cf8 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -2992,6 +2992,24 @@
 }
 
 /**
+ * xmlTextReaderConstString:
+ * @reader:  the xmlTextReaderPtr used
+ * @str:  the string to intern.
+ *
+ * Get an interned string from the reader, allows for example to
+ * speedup string name comparisons
+ *
+ * Returns an interned copy of the string or NULL in case of error. The
+ *         string will be deallocated with the reader.
+ */
+const xmlChar *
+xmlTextReaderConstString(xmlTextReaderPtr reader, const xmlChar *str) {
+    if (reader == NULL)
+	return(NULL);
+    return(CONSTSTR(str));
+}
+
+/**
  * xmlTextReaderNormalization:
  * @reader:  the xmlTextReaderPtr used
  *