diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2018-12-18 21:12:14 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2018-12-18 21:12:14 (GMT) |
commit | 449a7e2b4ff114a72be573013558bae19672ebbc (patch) | |
tree | 56aec4c15578b6868ea48dcc8729a592465ce4a0 /src | |
parent | 43e67dce8c164df469e725deb94db582d9cfc69b (diff) | |
download | Doxygen-449a7e2b4ff114a72be573013558bae19672ebbc.zip Doxygen-449a7e2b4ff114a72be573013558bae19672ebbc.tar.gz Doxygen-449a7e2b4ff114a72be573013558bae19672ebbc.tar.bz2 |
Redundant whitespace removal breaks some C++ links [with test case and Git bisect] (Origin: bugzilla #791942)
Diffstat (limited to 'src')
-rw-r--r-- | src/util.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/util.cpp b/src/util.cpp index a1f40af..1b6afa2 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1895,11 +1895,18 @@ QCString removeRedundantWhiteSpace(const QCString &s) if (g_charAroundSpace.charMap[(uchar)pc].before && g_charAroundSpace.charMap[(uchar)nc].after && !(pc==',' && nc=='.') && - (osp<8 || (osp>=8 && isId(nc))) // e.g. "operator >>" -> "operator>>", but not "operator int" -> operatorint" + (osp<8 || (osp>=8 && pc!='"' && isId(nc)) || (osp>=8 && pc!='"' && nc!='"')) + // e.g. 'operator >>' -> 'operator>>', + // 'operator "" _x' -> 'operator""_x', + // but not 'operator int' -> 'operatorint' ) { // keep space *dst++=' '; } + else if ((pc=='*' || pc=='&' || pc=='.') && nc=='>') + { + *dst++=' '; + } } break; default: |