summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-10-29 19:15:08 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-10-29 19:15:08 (GMT)
commit356c6e1d77416aa61db869ca10e5f9974e715e42 (patch)
tree0d3b3dc015de74a1bc5bfb9ad525d39c657a82a9 /src
parentdaeba94e228802e374eea260b8ba8f6157f91dbd (diff)
parenta4b4398ff7b14f0b5fdccac6bb6334da38ef581d (diff)
downloadDoxygen-356c6e1d77416aa61db869ca10e5f9974e715e42.zip
Doxygen-356c6e1d77416aa61db869ca10e5f9974e715e42.tar.gz
Doxygen-356c6e1d77416aa61db869ca10e5f9974e715e42.tar.bz2
Merge branch 'feature/bug_aliases_cmd' of https://github.com/albert-github/doxygen into albert-github-feature/bug_aliases_cmd
Diffstat (limited to 'src')
-rw-r--r--src/util.cpp33
1 files changed, 21 insertions, 12 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 8a3ad8c..2b53cde 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -5971,18 +5971,9 @@ static QCString replaceAliasArguments(StringUnorderedSet &aliasesProcessed,
int markerEnd=0;
for (i=0;i<l;i++)
{
- if (markerStart==0 && aliasValue.at(i)=='\\') // start of a \xx marker
+ if (markerStart>0 && !(aliasValue.at(i)>='0' && aliasValue.at(i)<='9'))
{
- markerStart=i+1;
- }
- else if (markerStart>0 && aliasValue.at(i)>='0' && aliasValue.at(i)<='9')
- {
- // read digit that make up the marker number
- markerEnd=i+1;
- }
- else
- {
- if (markerStart>0 && markerEnd>markerStart) // end of marker
+ if (markerEnd>markerStart) // end of marker
{
int markerLen = markerEnd-markerStart;
markerList.append(new Marker(markerStart-1, // include backslash
@@ -5990,9 +5981,27 @@ static QCString replaceAliasArguments(StringUnorderedSet &aliasesProcessed,
//printf("found marker at %d with len %d and number %d\n",
// markerStart-1,markerLen+1,atoi(aliasValue.mid(markerStart,markerLen)));
}
- markerStart=(aliasValue.at(i)=='\\' ? i+1 : 0);
+ markerStart=0;
markerEnd=0;
}
+ // check for escaped command sign
+ if ((aliasValue.at(i) == '@' || aliasValue.at(i) == '\\') &&
+ (((i+1)<l) && (aliasValue.at(i+1) == '@' || aliasValue.at(i+1) == '\\')))
+ {
+ markerStart=0;
+ markerEnd=0;
+ i++;
+ continue;
+ }
+ if (markerStart==0 && aliasValue.at(i)=='\\') // start of a possible \xx marker
+ {
+ markerStart=i+1;
+ }
+ else if (markerStart>0 && aliasValue.at(i)>='0' && aliasValue.at(i)<='9')
+ {
+ // read digit that make up the marker number
+ markerEnd=i+1;
+ }
}
if (markerStart>0)
{