summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2018-10-29 19:18:24 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2018-10-29 19:18:24 (GMT)
commit88885c2fa885978cf958bebb6d312e1e0854a864 (patch)
treeff826a65592f2ca578dd226406c4d39adfe19d5c
parent49b63cdcaf884ae2d676749915f003608bd9dc13 (diff)
parent080389ee153981831ea36e14726b49f756e081bf (diff)
downloadDoxygen-88885c2fa885978cf958bebb6d312e1e0854a864.zip
Doxygen-88885c2fa885978cf958bebb6d312e1e0854a864.tar.gz
Doxygen-88885c2fa885978cf958bebb6d312e1e0854a864.tar.bz2
Merge branch 'feature/bug_latex_index_sorting' of https://github.com/albert-github/doxygen into albert-github-feature/bug_latex_index_sorting
-rw-r--r--src/util.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/util.cpp b/src/util.cpp
index c931214..0a10e74 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -6927,11 +6927,37 @@ void filterLatexString(FTextStream &t,const char *str,
}
}
+static void reFilterLatexString(FTextStream &t,const char *str)
+{
+ if (str==0) return;
+ const unsigned char *p=(const unsigned char *)str;
+ unsigned char c;
+ unsigned char pc='\0';
+ while (*p)
+ {
+ c=*p++;
+
+ switch(c)
+ {
+ case '\\':
+ if (*p == '+') p++;
+ else t << '\\';
+ break;
+ default:
+ t << (char)c;
+ break;
+ }
+ pc = c;
+ }
+}
+
QCString latexEscapeLabelName(const char *s,bool insideTabbing)
{
QGString result;
+ QGString result1;
QCString tmp(qstrlen(s)+1);
FTextStream t(&result);
+ FTextStream t1(&result1);
const char *p=s;
char c;
int i;
@@ -6961,7 +6987,13 @@ QCString latexEscapeLabelName(const char *s,bool insideTabbing)
break;
}
}
- return result.data();
+ if (!insideTabbing)
+ {
+ reFilterLatexString(t1,result.data());
+ return result1.data();
+ }
+ else
+ return result.data();
}
QCString latexEscapeIndexChars(const char *s,bool insideTabbing)