summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2019-01-26 15:29:45 (GMT)
committeralbert-github <albert.tests@gmail.com>2019-01-26 15:29:45 (GMT)
commite41ae81c3d3232111db340a7c11b7e8203e3bfce (patch)
tree37f31e6ab2e887932c8859b06cb716945c49f779 /src
parentafc77213ab3662f3a7377af94d77ebee1f972bb7 (diff)
downloadDoxygen-e41ae81c3d3232111db340a7c11b7e8203e3bfce.zip
Doxygen-e41ae81c3d3232111db340a7c11b7e8203e3bfce.tar.gz
Doxygen-e41ae81c3d3232111db340a7c11b7e8203e3bfce.tar.bz2
issue #6796 Bad link to section, subsection if pointing at item past suspicious text
To escape `\` and `@` not only `\\` and `@@` should be possible but also `\@` and `@\`
Diffstat (limited to 'src')
-rw-r--r--src/commentscan.l4
-rw-r--r--src/doctokenizer.l2
-rw-r--r--src/scanner.l2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/commentscan.l b/src/commentscan.l
index c656c9e..0ca293c 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -1181,7 +1181,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
addOutput(yytext);
}
}
-<Comment>{B}*("\\\\"|"@@")"f"[$\[{] { // escaped formula command
+<Comment>{B}*({CMD}{CMD})"f"[$\[{] { // escaped formula command
addOutput(yytext);
}
<Comment>{B}*{CMD}"~"[a-z_A-Z-]* { // language switch command
@@ -1805,7 +1805,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
g_sectionTitle+=yytext;
addOutput(yytext);
}
-<SectionTitle>("\\\\"|"@@"){ID} { // unescape escaped command
+<SectionTitle>({CMD}{CMD}){ID} { // unescape escaped command
g_sectionTitle+=&yytext[1];
addOutput(yytext);
}
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index 90f9846..5cf5f02 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -1227,7 +1227,7 @@ REFWORD_NOCV {FILEMASK}|{LABELID}|{REFWORD2_NOCV}|{REFWORD3}|{REFWORD4_NOCV}
/* State for the pass used to find the anchors and sections */
<St_Sections>[^\n@\\<]+
-<St_Sections>"@@"|"\\\\"|"@<"|"\\<"
+<St_Sections>{CMD}("<"|{CMD})
<St_Sections>"<"{CAPTION}({WS}+{ATTRIB})*">" {
QCString tag=yytext;
int s=tag.find("id=");
diff --git a/src/scanner.l b/src/scanner.l
index cc497e3..d2c7072 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -6542,7 +6542,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
// middle of a comment block
docBlock+=yytext;
}
-<DocBlock>("@@"|"\\\\"){ID}/[^a-z_A-Z0-9] { // escaped command
+<DocBlock>({CMD}{CMD}){ID}/[^a-z_A-Z0-9] { // escaped command
docBlock+=yytext;
}
<DocBlock>{CMD}("f$"|"f["|"f{") {