diff options
author | Juraj Skripsky <js@hotfeet.ch> | 2004-04-20 18:12:07 +0400 |
---|---|---|
committer | Juraj Skripsky <js@hotfeet.ch> | 2004-04-20 18:12:07 +0400 |
commit | 2ec8ac5258890f8ce451d90e390fac7c9d7c3f23 (patch) | |
tree | 522120a57b60812d4abe741bdc619d594dd715a3 /mcs/class/System.Data/Mono.Data.SqlExpressions | |
parent | 70f7f8c7fa1e6a2b43f037da6ce7519c410a835b (diff) |
2004-04-20 Juraj Skripsky <juraj@hotfeet.ch>
* Tokenizer.cs (ReadNumber): Correctly consume decimal point
when reading numbers. Fixes bug #57251.
svn path=/trunk/mcs/; revision=25726
Diffstat (limited to 'mcs/class/System.Data/Mono.Data.SqlExpressions')
-rw-r--r-- | mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog | 5 | ||||
-rw-r--r-- | mcs/class/System.Data/Mono.Data.SqlExpressions/Tokenizer.cs | 19 |
2 files changed, 12 insertions, 12 deletions
diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog b/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog index 64eda1f4ac8..793dbff8395 100644 --- a/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog +++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog @@ -1,3 +1,8 @@ +2004-04-20 Juraj Skripsky <juraj@hotfeet.ch> + + * Tokenizer.cs (ReadNumber): Correctly consume decimal point + when reading numbers. Fixes bug #57251. + 2004-03-31 Juraj Skripsky <juraj@hotfeet.ch> * Parser.jay, ColumnReference.cs, Comparison.cs, Functions.cs, diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/Tokenizer.cs b/mcs/class/System.Data/Mono.Data.SqlExpressions/Tokenizer.cs index e0e4783204e..2d9b64f4ee8 100644 --- a/mcs/class/System.Data/Mono.Data.SqlExpressions/Tokenizer.cs +++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/Tokenizer.cs @@ -91,22 +91,17 @@ namespace Mono.Data.SqlExpressions { sb.Append (Current ()); char next; - while (Char.IsDigit (next = Next ())) { + while (Char.IsDigit (next = Next ()) || next == '.') { sb.Append (next); MoveNext (); } - if (next == '.') { - sb.Append (next); - while (Char.IsDigit (next = Next ())) { - sb.Append (next); - MoveNext (); - } - - return double.Parse (sb.ToString ()); - } - - return int.Parse (sb.ToString ()); + string str = sb.ToString (); + + if (str.IndexOf(".") == -1) + return int.Parse (str); + else + return double.Parse (str); } private char ProcessEscapes(char c) |