shithub: libmujs

Download patch

ref: 74f2ad2c0bbe0e4c1d52d54265db2663c18bdb80
parent: e23d2070a0a3a1ddd78806525b1596e1785216b4
author: Tor Andersson <tor@ccxvii.net>
date: Sat Jan 11 11:51:48 EST 2014

Count lines in block comments as well.

--- a/jslex.c
+++ b/jslex.c
@@ -170,10 +170,15 @@
 	}
 }
 
-static inline int lexcomment(const char **sp)
+static inline int lexcomment(js_State *J, const char **sp)
 {
 	while (1) {
 		int c = GET();
+		if (isnewline(c)) {
+			if (c == '\r' && PEEK() == '\n')
+				NEXT();
+			J->line++;
+		}
 		if (c == '*') {
 			while (c == '*')
 				c = GET();
@@ -434,7 +439,7 @@
 				lexlinecomment(sp);
 				continue;
 			} else if (LOOK('*')) {
-				if (lexcomment(sp))
+				if (lexcomment(J, sp))
 					return jsP_error(J, "multi-line comment not terminated");
 				continue;
 			} else if (isregexpcontext(J->lasttoken)) {