summaryrefslogtreecommitdiffstats
path: root/src/commentcnv.l
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-06-19 17:47:36 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-06-19 17:47:36 (GMT)
commita0db6fdbff2e21502bb2ac7437c5bd57d515d83b (patch)
treef15cb290aabd901dddf128efc56554627d57b188 /src/commentcnv.l
parent4536982bdebc0056d0c5d64a12881f20b5801c06 (diff)
downloadDoxygen-a0db6fdbff2e21502bb2ac7437c5bd57d515d83b.zip
Doxygen-a0db6fdbff2e21502bb2ac7437c5bd57d515d83b.tar.gz
Doxygen-a0db6fdbff2e21502bb2ac7437c5bd57d515d83b.tar.bz2
Bug 796621 - @cond does not stop at @endcond Fortran
The backslash (\) is in Fortran not an escape character but was handled as such, this has been corrected. Handling of the different Fortran string types ('...' and "...") made more consistent.
Diffstat (limited to 'src/commentcnv.l')
-rw-r--r--src/commentcnv.l20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/commentcnv.l b/src/commentcnv.l
index 10dab28..88236ed 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -591,7 +591,15 @@ void replaceComment(int offset);
copyToOutput(yytext,(int)yyleng);
}
<SkipString>\\. { /* escaped character in string */
- copyToOutput(yytext,(int)yyleng);
+ if (g_lang==SrcLangExt_Fortran)
+ {
+ unput(yytext[1]);
+ copyToOutput(yytext,1);
+ }
+ else
+ {
+ copyToOutput(yytext,(int)yyleng);
+ }
}
<SkipString>"\"" { /* end of string */
copyToOutput(yytext,(int)yyleng);
@@ -604,7 +612,15 @@ void replaceComment(int offset);
copyToOutput(yytext,(int)yyleng);
}
<SkipChar>\\. { /* escaped character */
- copyToOutput(yytext,(int)yyleng);
+ if (g_lang==SrcLangExt_Fortran)
+ {
+ unput(yytext[1]);
+ copyToOutput(yytext,1);
+ }
+ else
+ {
+ copyToOutput(yytext,(int)yyleng);
+ }
}
<SkipChar>' { /* end of character literal */
copyToOutput(yytext,(int)yyleng);