summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2021-03-10 11:01:20 (GMT)
committeralbert-github <albert.tests@gmail.com>2021-03-10 11:01:20 (GMT)
commitaa00bcb575b4bdf85a784eeec109c6782de89924 (patch)
treec7fb48598191c8c209c2534feaae801d66e0bac4
parent9136e8c664bc4b0706a9cf419c76b2277b87f4a1 (diff)
downloadDoxygen-aa00bcb575b4bdf85a784eeec109c6782de89924.zip
Doxygen-aa00bcb575b4bdf85a784eeec109c6782de89924.tar.gz
Doxygen-aa00bcb575b4bdf85a784eeec109c6782de89924.tar.bz2
Problem with non escaped double quote in preprocessor
When having the (lex) program like: ``` %% [\"] {} %% #ifdef SHARED_OBJECT int filter_func(FILE *in, FILE *out) { /* " */ } #else int main(void) { } #endif ``` we get the messages like: ``` .../htuml2txt.lex:11: warning: Found an #else without a preceding #if. .../htuml2txt.lex:13: warning: More #endif's than #if's found. ``` due to the fact that the escaped double quote is not seen as an escaped character.
-rw-r--r--src/pre.l3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pre.l b/src/pre.l
index b153942..9a60750 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -621,6 +621,9 @@ WSopt [ \t\r]*
<CopyLine,LexCopyLine>"\\"\r?/\n { // strip line continuation characters
if (getLanguageFromFileName(yyextra->yyFileName)==SrcLangExt_Fortran) outputChar(yyscanner,*yytext);
}
+<CopyLine,LexCopyLine>\\. {
+ outputArray(yyscanner,yytext,(int)yyleng);
+ }
<CopyLine,LexCopyLine>. {
outputChar(yyscanner,*yytext);
}