aboutsummaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-03-13 01:16:37 +0100
committerLinus Jahn <lnj@kaidan.im>2022-03-13 02:11:14 +0100
commit5845b4b4c481f00e33e9d526b8538e4c20f92d8c (patch)
tree8a6841efe3c79c302535e5f44036fa2566e2ad3a /src/base
parent8cf1dc8a0eb6b399fc6676b0a2a82aef3af1b22c (diff)
downloadqxmpp-5845b4b4c481f00e33e9d526b8538e4c20f92d8c.tar.gz
JingleIq: Reuse QRegularExpression
It's thread_local because QRegularExpression is not thread-safe.
Diffstat (limited to 'src/base')
-rw-r--r--src/base/QXmppJingleIq.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/base/QXmppJingleIq.cpp b/src/base/QXmppJingleIq.cpp
index 072e1e97..d039dd5c 100644
--- a/src/base/QXmppJingleIq.cpp
+++ b/src/base/QXmppJingleIq.cpp
@@ -496,7 +496,9 @@ bool QXmppJingleIq::Content::parseSdp(const QString &sdp)
if (payload.name() == QStringLiteral("telephone-event")) {
params.insert(QStringLiteral("events"), paramStr);
} else {
- for (const auto &p : paramStr.split(QRegularExpression(";\\s*"))) {
+ thread_local static const auto regex = QRegularExpression(";\\s*");
+ const auto paramParts = paramStr.split(regex);
+ for (const auto &p : paramParts) {
const QStringList bits = p.split('=');
if (bits.size() == 2)
params.insert(bits.at(0), bits.at(1));