libxml2 r3765 - trunk



Author: veillard
Date: Wed Aug  6 10:26:06 2008
New Revision: 3765
URL: http://svn.gnome.org/viewvc/libxml2?rev=3765&view=rev

Log:
* uri.c: allow [ and ] in fragment identifiers, 3986 disallow them
  but it's widely used for XPointer, and would break DocBook
  processing among others
Daniel


Modified:
   trunk/ChangeLog
   trunk/uri.c

Modified: trunk/uri.c
==============================================================================
--- trunk/uri.c	(original)
+++ trunk/uri.c	Wed Aug  6 10:26:06 2008
@@ -201,7 +201,11 @@
  *
  * Parse the query part of an URI
  *
- * query = *uric
+ * fragment      = *( pchar / "/" / "?" )
+ * NOTE: the strict syntax as defined by 3986 does not allow '[' and ']'
+ *       in the fragment identifier but this is used very broadly for
+ *       xpointer scheme selection, so we are allowing it here to not break
+ *       for example all the DocBook processing chains.
  *
  * Returns 0 or the error code
  */
@@ -216,6 +220,7 @@
     cur = *str;
 
     while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') ||
+           (*cur == '[') || (*cur == ']') ||
            ((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
         NEXT(cur);
     if (uri != NULL) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]