[vala] Fix leading whitespace in preprocessing directives



commit 3b74083d62716b206da1ffb41de7ee2269b679e5
Author: Jürg Billeter <j bitron ch>
Date:   Fri Apr 3 20:01:47 2009 +0200

    Fix leading whitespace in preprocessing directives
---
 vala/valascanner.vala |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/vala/valascanner.vala b/vala/valascanner.vala
index 068cff7..ec9e907 100644
--- a/vala/valascanner.vala
+++ b/vala/valascanner.vala
@@ -786,7 +786,7 @@ public class Vala.Scanner {
 
 	bool pp_whitespace () {
 		bool found = false;
-		while (current < end && current[0] == ' ') {
+		while (current < end && current[0].isspace () && current[0] != '\n') {
 			found = true;
 			current++;
 			column++;
@@ -795,10 +795,11 @@ public class Vala.Scanner {
 	}
 
 	void pp_directive () {
-		do {
-			current++;
-			column++;
-		} while (current < end && current[0] == ' ');
+		// hash sign
+		current++;
+		column++;
+
+		pp_whitespace ();
 
 		char* begin = current;
 		int len = 0;
@@ -826,13 +827,16 @@ public class Vala.Scanner {
 			bool bol = false;
 			while (current < end) {
 				if (bol && current[0] == '#') {
+					// go back to begin of line
+					current -= column;
+					column = 0;
 					return;
 				}
 				if (current[0] == '\n') {
 					line++;
 					column = 0;
 					bol = true;
-				} else if (current[0] != ' ') {
+				} else if (!current[0].isspace ()) {
 					bol = false;
 				}
 				current++;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]