summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/codemarker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/qdoc/codemarker.cpp')
-rw-r--r--src/tools/qdoc/codemarker.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/tools/qdoc/codemarker.cpp b/src/tools/qdoc/codemarker.cpp
index 56fd3505be..e00ebef2db 100644
--- a/src/tools/qdoc/codemarker.cpp
+++ b/src/tools/qdoc/codemarker.cpp
@@ -194,6 +194,24 @@ QString CodeMarker::protect(const QString& str)
return marked;
}
+QString CodeMarker::protect(const QStringRef& str)
+{
+ int n = str.length();
+ QString marked;
+ marked.reserve(n * 2 + 30);
+ const QChar *data = str.constData();
+ for (int i = 0; i != n; ++i) {
+ switch (data[i].unicode()) {
+ case '&': marked += samp; break;
+ case '<': marked += slt; break;
+ case '>': marked += sgt; break;
+ case '"': marked += squot; break;
+ default : marked += data[i];
+ }
+ }
+ return marked;
+}
+
QString CodeMarker::typified(const QString &string)
{
QString result;