summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/util.cpp9
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: