summaryrefslogtreecommitdiff
path: root/giscanner/scannerlexer.l
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/scannerlexer.l')
-rw-r--r--giscanner/scannerlexer.l8
1 files changed, 7 insertions, 1 deletions
diff --git a/giscanner/scannerlexer.l b/giscanner/scannerlexer.l
index cee91608..ff1ee0ff 100644
--- a/giscanner/scannerlexer.l
+++ b/giscanner/scannerlexer.l
@@ -37,6 +37,7 @@
#include "grealpath.h"
int lineno;
+char linebuf[2000];
#undef YY_BUF_SIZE
#define YY_BUF_SIZE 1048576
@@ -61,7 +62,12 @@ stringtext ([^\\\"])|(\\.)
%%
-"\n" { ++lineno; } /* " */
+\n.* { strncpy(linebuf, yytext+1, sizeof(linebuf)); /* save the next line */
+ linebuf[sizeof(linebuf)-1]='\0';
+ /* printf("%4d:%s\n",lineno,linebuf); */
+ yyless(1); /* give back all but the \n to rescan */
+ ++lineno;
+ }
"\\\n" { ++lineno; }
[\t\f\v\r ]+ { /* Ignore whitespace. */ }