Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuraj Skripsky <js@hotfeet.ch>2004-04-20 18:12:07 +0400
committerJuraj Skripsky <js@hotfeet.ch>2004-04-20 18:12:07 +0400
commit2ec8ac5258890f8ce451d90e390fac7c9d7c3f23 (patch)
tree522120a57b60812d4abe741bdc619d594dd715a3 /mcs/class/System.Data/Mono.Data.SqlExpressions
parent70f7f8c7fa1e6a2b43f037da6ce7519c410a835b (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/ChangeLog5
-rw-r--r--mcs/class/System.Data/Mono.Data.SqlExpressions/Tokenizer.cs19
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)