diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-10-29 19:15:08 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-10-29 19:15:08 (GMT) |
commit | 356c6e1d77416aa61db869ca10e5f9974e715e42 (patch) | |
tree | 0d3b3dc015de74a1bc5bfb9ad525d39c657a82a9 /src | |
parent | daeba94e228802e374eea260b8ba8f6157f91dbd (diff) | |
parent | a4b4398ff7b14f0b5fdccac6bb6334da38ef581d (diff) | |
download | Doxygen-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.cpp | 33 |
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) { |