diff options
author | albert-github <albert.tests@gmail.com> | 2021-03-10 11:01:20 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2021-03-10 11:01:20 (GMT) |
commit | aa00bcb575b4bdf85a784eeec109c6782de89924 (patch) | |
tree | c7fb48598191c8c209c2534feaae801d66e0bac4 | |
parent | 9136e8c664bc4b0706a9cf419c76b2277b87f4a1 (diff) | |
download | Doxygen-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.l | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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); } |