Author: marek
Date: 2008-01-03 08:12:53 -0500 (Thu, 03 Jan 2008)
New Revision: 92169

Modified:
   trunk/mcs/mcs/ChangeLog
   trunk/mcs/mcs/cs-tokenizer.cs
Log:
2008-01-03  Marek Safar  <[EMAIL PROTECTED]>

        A fix for bug #351257
        * cs-tokenizer.cs: Advance line number for '\r' correctly.
        


Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog     2008-01-03 13:05:56 UTC (rev 92168)
+++ trunk/mcs/mcs/ChangeLog     2008-01-03 13:12:53 UTC (rev 92169)
@@ -1,5 +1,10 @@
 2008-01-03  Marek Safar  <[EMAIL PROTECTED]>
 
+       A fix for bug #351257
+       * cs-tokenizer.cs: Advance line number for '\r' correctly.
+       
+2008-01-03  Marek Safar  <[EMAIL PROTECTED]>
+
        A fix for bug #351157
        * class.cs (Using): Fixed yet another broken cloning.
        

Modified: trunk/mcs/mcs/cs-tokenizer.cs
===================================================================
--- trunk/mcs/mcs/cs-tokenizer.cs       2008-01-03 13:05:56 UTC (rev 92168)
+++ trunk/mcs/mcs/cs-tokenizer.cs       2008-01-03 13:12:53 UTC (rev 92169)
@@ -1409,16 +1409,21 @@
                        } else
                                x = reader.Read ();
                        if (x == '\n') {
-                               line++;
-                               ref_line++;
-                               previous_col = col;
-                               col = 0;
+                               advance_line ();
                        }
                        else
                                col++;
                        return x;
                }
 
+               void advance_line ()
+               {
+                       line++;
+                       ref_line++;
+                       previous_col = col;
+                       col = 0;
+               }
+
                int peek_char ()
                {
                        if (putback_char != -1)
@@ -2330,8 +2335,9 @@
 
                                if (c == '\r') {
                                        if (peek_char () != '\n')
-                                               putback_char = '\n';
-                                       get_char ();
+                                               advance_line ();
+                                       else
+                                               get_char ();
 
                                        any_token_seen |= tokens_seen;
                                        tokens_seen = false;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to