diff options
author | Atsushi Eno <atsushieno@gmail.com> | 2009-11-20 15:08:20 +0300 |
---|---|---|
committer | Atsushi Eno <atsushieno@gmail.com> | 2009-11-20 15:08:20 +0300 |
commit | ba4906bc4f4c7d818bc8ec2c8070f1c91280436c (patch) | |
tree | d0137d31153aebb48012395c10abfb29e39f15e4 /mcs/class/System.XML/System.Xml.XPath | |
parent | 4ba4545e8d132e4af4f2b0f5330f8fb407c44d27 (diff) |
backport r146613.
svn path=/branches/mono-2-6/mcs/; revision=146614
Diffstat (limited to 'mcs/class/System.XML/System.Xml.XPath')
-rw-r--r-- | mcs/class/System.XML/System.Xml.XPath/ChangeLog | 5 | ||||
-rw-r--r-- | mcs/class/System.XML/System.Xml.XPath/DefaultContext.cs | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/mcs/class/System.XML/System.Xml.XPath/ChangeLog b/mcs/class/System.XML/System.Xml.XPath/ChangeLog index 8d2802799f0..eed98681d00 100644 --- a/mcs/class/System.XML/System.Xml.XPath/ChangeLog +++ b/mcs/class/System.XML/System.Xml.XPath/ChangeLog @@ -1,3 +1,8 @@ +2009-11-20 Atsushi Enomoto <atsushi@ximian.com> + + * DefaultContext.cs : do not use sloppy XmlConvert to parse xpath + number. Fixed bug #556619. + 2009-09-15 Atsushi Enomoto <atsushi@ximian.com> * Expression.cs : to support external function that returns non- diff --git a/mcs/class/System.XML/System.Xml.XPath/DefaultContext.cs b/mcs/class/System.XML/System.Xml.XPath/DefaultContext.cs index 97b322859ee..c6b8d4cc18a 100644 --- a/mcs/class/System.XML/System.Xml.XPath/DefaultContext.cs +++ b/mcs/class/System.XML/System.Xml.XPath/DefaultContext.cs @@ -143,7 +143,10 @@ namespace System.Xml.XPath if (s.Length == 0) return double.NaN; try { - return XmlConvert.ToDouble (s); + // workaround for allowed ".xxx" style. + if (s [0] == '.') + s = '.' + s; + return Double.Parse (s, NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite | NumberStyles.AllowLeadingSign | NumberStyles.AllowDecimalPoint, NumberFormatInfo.InvariantInfo); } catch (System.OverflowException) { return double.NaN; } catch (System.FormatException) { |