Bug 546876 - Modify GMarkup parser to accept  .. 
authorRyan Lortie <desrt@desrt.ca>
Fri, 8 Aug 2008 16:41:30 +0000 (16:41 +0000)
committerRyan Lortie <ryanl@src.gnome.org>
Fri, 8 Aug 2008 16:41:30 +0000 (16:41 +0000)
2008-08-08  Ryan Lortie  <desrt@desrt.ca>

        * glib/gmarkup.c: previously the parser only accepted character
        references for \t \n and \r (as per XML 1.0); now it accepts all
        of &#x1; .. &#x1f;.

svn path=/trunk/; revision=7326

ChangeLog
glib/gmarkup.c

index 1b2603def3c036db52c04491eb08393cd6d7aa76..6650f5f9cde18461289a4409a460788d7c987263 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-08-08  Ryan Lortie  <desrt@desrt.ca>
+
+       Bug 546876 - Modify GMarkup parser to accept &#x1; .. &#x1f;
+
+       * glib/gmarkup.c: previously the parser only accepted character
+       references for \t \n and \r (as per XML 1.0); now it accepts all
+       of &#x1; .. &#x1f;.
+
 2008-08-07  Tor Lillqvist  <tml@novell.com>
 
        * configure.in: Output comment clarifying GPid semantics to
index 05cecd549b11a912244c66932a4883f2acb1e115..cfea02568fdba7bc824d21c1672ed9bbe9650268 100644 (file)
@@ -634,13 +634,10 @@ unescape_text_state_after_charref_hash (UnescapeContext *ucontext,
             }
           else
             {
-              /* characters XML permits */
-              if (l == 0x9 ||
-                  l == 0xA ||
-                  l == 0xD ||
-                  (l >= 0x20 && l <= 0xD7FF) ||
-                  (l >= 0xE000 && l <= 0xFFFD) ||
-                  (l >= 0x10000 && l <= 0x10FFFF))
+              /* characters XML 1.1 permits */
+              if ((0 < l && l <= 0xD7FF) ||
+                  (0xE000 <= l && l <= 0xFFFD) ||
+                  (0x10000 <= l && l <= 0x10FFFF))
                 {
                   gchar buf[8];
                   g_string_append (ucontext->str, char_str (l, buf));