diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-05 18:25:15 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-11-05 18:25:15 (GMT) |
commit | c48c5eb3c68a9b5f3f82d1d186a6695ed1d30db5 (patch) | |
tree | 5bb35d1a25c29ff5a3479ba340cfa18ed0cfc2a7 /src | |
parent | eaf691cc82cb2c819bf61a48265d334464f2d831 (diff) | |
download | Doxygen-c48c5eb3c68a9b5f3f82d1d186a6695ed1d30db5.zip Doxygen-c48c5eb3c68a9b5f3f82d1d186a6695ed1d30db5.tar.gz Doxygen-c48c5eb3c68a9b5f3f82d1d186a6695ed1d30db5.tar.bz2 |
Optimized the escape function and made it more generic
Diffstat (limited to 'src')
-rw-r--r-- | src/markdown.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/markdown.cpp b/src/markdown.cpp index 9b3232e..33a471a 100644 --- a/src/markdown.cpp +++ b/src/markdown.cpp @@ -2686,12 +2686,13 @@ QCString markdownFileNameToId(const QCString &fileName) int i = baseFn.findRev('.'); if (i!=-1) baseFn = baseFn.left(i); QCString baseName = baseFn; - baseName = substitute(baseName,":","_"); - baseName = substitute(baseName,"/","_"); - baseName = substitute(baseName,".","_"); - baseName = substitute(baseName," ","_"); - baseName = substitute(baseName,"+","_"); - baseName = substitute(baseName,"@","_"); + char *p = baseName.rawData(); + char c; + while ((c=*p)) + { + if (!isId(c)) *p='_'; // escape characters that do not yield an identifier by underscores + p++; + } //printf("markdownFileNameToId(%s)=md_%s\n",qPrint(fileName),qPrint(baseName)); return "md_"+baseName; } |