Author: atsushi
Date: 2005-03-27 19:52:31 -0500 (Sun, 27 Mar 2005)
New Revision: 42298
Modified:
trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/ChangeLog
trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncTokenizer.cs
Log:
2005-03-28 Atsushi Enomoto <[EMAIL PROTECTED]>
* RncTokenizer.cs : oops, so stupid hex computation.
Modified: trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/ChangeLog
===================================================================
--- trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/ChangeLog
2005-03-28 00:44:44 UTC (rev 42297)
+++ trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/ChangeLog
2005-03-28 00:52:31 UTC (rev 42298)
@@ -1,5 +1,9 @@
2005-03-28 Atsushi Enomoto <[EMAIL PROTECTED]>
+ * RncTokenizer.cs : oops, so stupid hex computation.
+
+2005-03-28 Atsushi Enomoto <[EMAIL PROTECTED]>
+
* RncTokenizer.cs :
Handle hexadecimal escaping (\x{...}) and triple-quot/apos literals.
Quote literal didn't handle '...' as expected.
Modified:
trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncTokenizer.cs
===================================================================
--- trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncTokenizer.cs
2005-03-28 00:44:44 UTC (rev 42297)
+++ trunk/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Rnc/RncTokenizer.cs
2005-03-28 00:52:31 UTC (rev 42298)
@@ -93,7 +93,7 @@
// private methods
- private int ReadEscapedHexNumber ()
+ private int ReadEscapedHexNumber (int current)
{
int i = source.Read ();
switch (i) {
@@ -107,24 +107,27 @@
case '7':
case '8':
case '9':
- return (i - '0') * 16 + ReadEscapedHexNumber ();
+ current = current * 16 + (i - '0');
+ return ReadEscapedHexNumber (current);
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
- return (i - 'A' + 10) * 16 +
ReadEscapedHexNumber ();
+ current = current * 16 + (i - 'A') + 10;
+ return ReadEscapedHexNumber (current);
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
- return (i - 'a' + 10) * 16 +
ReadEscapedHexNumber ();
+ current = current * 16 + (i - 'a' + 10);
+ return ReadEscapedHexNumber (current);
}
peekChar = i;
- return 0;
+ return current;
}
private int ReadFromStream ()
@@ -149,7 +152,7 @@
peekString += (char) tmp;
return '\\';
}
- ret = ReadEscapedHexNumber ();
+ ret = ReadEscapedHexNumber (0);
if (peekChar != '}')
break;
peekChar = 0;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches