http://bugzilla.gnome.org/show_bug.cgi?id=542666
In addition to this patch, you need to create some empty files:
touch result/schemas/regexp-char-ref_0_0.err
touch result/schemas/regexp-char-ref_1_0.err
Index: libxml2-svn/xmlregexp.c
===================================================================
--- libxml2-svn/xmlregexp.c (Revision 3751)
+++ libxml2-svn/xmlregexp.c (Arbeitskopie)
@@ -4907,64 +4907,6 @@
}
/**
- * xmlFAParseCharRef:
- * @ctxt: a regexp parser context
- *
- * [19] XmlCharRef ::= ( '' [0-9]+ ';' ) | (' ' [0-9a-fA-F]+ ';' )
- */
-static int
-xmlFAParseCharRef(xmlRegParserCtxtPtr ctxt) {
- int ret = 0, cur;
-
- if ((CUR != '&') || (NXT(1) != '#'))
- return(-1);
- NEXT;
- NEXT;
- cur = CUR;
- if (cur == 'x') {
- NEXT;
- cur = CUR;
- if (((cur >= '0') && (cur <= '9')) ||
- ((cur >= 'a') && (cur <= 'f')) ||
- ((cur >= 'A') && (cur <= 'F'))) {
- while (((cur >= '0') && (cur <= '9')) ||
- ((cur >= 'a') && (cur <= 'f')) ||
- ((cur >= 'A') && (cur <= 'F'))) {
- if ((cur >= '0') && (cur <= '9'))
- ret = ret * 16 + cur - '0';
- else if ((cur >= 'a') && (cur <= 'f'))
- ret = ret * 16 + 10 + (cur - 'a');
- else
- ret = ret * 16 + 10 + (cur - 'A');
- NEXT;
- cur = CUR;
- }
- } else {
- ERROR("Char ref: expecting [0-9A-F]");
- return(-1);
- }
- } else {
- if ((cur >= '0') && (cur <= '9')) {
- while ((cur >= '0') && (cur <= '9')) {
- ret = ret * 10 + cur - '0';
- NEXT;
- cur = CUR;
- }
- } else {
- ERROR("Char ref: expecting [0-9]");
- return(-1);
- }
- }
- if (cur != ';') {
- ERROR("Char ref: expecting ';'");
- return(-1);
- } else {
- NEXT;
- }
- return(ret);
-}
-
-/**
* xmlFAParseCharRange:
* @ctxt: a regexp parser context
*
@@ -4985,12 +4927,6 @@
return;
}
- if ((CUR == '&') && (NXT(1) == '#')) {
- end = start = xmlFAParseCharRef(ctxt);
- xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
- XML_REGEXP_CHARVAL, start, end, NULL);
- return;
- }
cur = CUR;
if (cur == '\\') {
NEXT;
Index: libxml2-svn/result/schemas/regexp-char-ref_0_0.err
===================================================================
Index: libxml2-svn/result/schemas/regexp-char-ref_1_0.err
===================================================================
Index: libxml2-svn/result/schemas/regexp-char-ref_0_0
===================================================================
--- libxml2-svn/result/schemas/regexp-char-ref_0_0 (Revision 0)
+++ libxml2-svn/result/schemas/regexp-char-ref_0_0 (Revision 0)
@@ -0,0 +1 @@
+./test/schemas/regexp-char-ref_0.xml validates
Index: libxml2-svn/result/schemas/regexp-char-ref_1_0
===================================================================
--- libxml2-svn/result/schemas/regexp-char-ref_1_0 (Revision 0)
+++ libxml2-svn/result/schemas/regexp-char-ref_1_0 (Revision 0)
@@ -0,0 +1 @@
+./test/schemas/regexp-char-ref_0.xml validates
Index: libxml2-svn/test/schemas/regexp-char-ref_0.xml
===================================================================
--- libxml2-svn/test/schemas/regexp-char-ref_0.xml (Revision 0)
+++ libxml2-svn/test/schemas/regexp-char-ref_0.xml (Revision 0)
@@ -0,0 +1,7 @@
+
+
+
Index: libxml2-svn/test/schemas/regexp-char-ref_0.xsd
===================================================================
--- libxml2-svn/test/schemas/regexp-char-ref_0.xsd (Revision 0)
+++ libxml2-svn/test/schemas/regexp-char-ref_0.xsd (Revision 0)
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: libxml2-svn/test/schemas/regexp-char-ref_1.xsd
===================================================================
--- libxml2-svn/test/schemas/regexp-char-ref_1.xsd (Revision 0)
+++ libxml2-svn/test/schemas/regexp-char-ref_1.xsd (Revision 0)
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+