cstring_free (exname);
}
+
+ cscannerHelp_handleNewLine (); // evans 2003-10-27: pragment increments line
}
else if (cstring_equalPrefixLit (olc, "ident"))
{
/* Some pre-processors will leave these in the code. Ignore rest of line */
+ cscannerHelp_handleNewLine (); // evans 2003-10-27: ident increments line
}
+
/*
** Yuk...Win32 filenames can have spaces in them...we need to read
** to the matching end quote.
** We handle a plain # in the input file, by echoing it, and ignoring it in the post-pp-file.
*/
mstring_free (ol);
+ cscannerHelp_handleNewLine (); // evans 2003-10-27: increments line
return FALSE;
} else {
voptgenerror
message ("Unrecognized pre-processor directive: #%s",
cstring_fromChars (ol)),
g_currentloc);
+ cscannerHelp_handleNewLine (); // evans 2003-10-27: increments line
}
sfree (ol);
int cscannerHelp_returnToken (int t)
{
- yylval.tok = lltok_create (t, fileloc_decColumn (g_currentloc, s_tokLength));
+ if (s_tokLength > fileloc_column (g_currentloc)) {
+ yylval.tok = lltok_create (t, fileloc_copy (g_currentloc));
+ } else {
+ yylval.tok = lltok_create (t, fileloc_decColumn (g_currentloc, s_tokLength));
+ }
+
s_tokLength = 0;
s_lastWasString = FALSE;
return (t);