summaryrefslogtreecommitdiffstats
path: root/src/xmlpatterns/functions/qpatternmatchingfns.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2012-04-23 16:29:18 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-24 14:39:38 +0200
commitc1623a0d42c9869e5a1d04081e7660722a863de5 (patch)
tree17a58be3a4c80b143add805b7ff8218daab61106 /src/xmlpatterns/functions/qpatternmatchingfns.cpp
parentc18f589a757b2c4cb8c5e66a92f34ac005223cfe (diff)
Don't use the QRegExp methods that modify the object
QRegExp matching methods modify the object, which we don't want to. In particular, when we receive a QRegExp from the user or we store in a context that might require thread-safety, make sure we make a copy before using it. QRegularExpression has no such shortcoming. Task-number: QTBUG-25064 Change-Id: I2c4d5f4b60d6b3569568103cd7107cd2adaa3ae8 Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/xmlpatterns/functions/qpatternmatchingfns.cpp')
-rw-r--r--src/xmlpatterns/functions/qpatternmatchingfns.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/xmlpatterns/functions/qpatternmatchingfns.cpp b/src/xmlpatterns/functions/qpatternmatchingfns.cpp
index 41ffe540..27c7dd44 100644
--- a/src/xmlpatterns/functions/qpatternmatchingfns.cpp
+++ b/src/xmlpatterns/functions/qpatternmatchingfns.cpp
@@ -59,7 +59,7 @@ MatchesFN::MatchesFN() : PatternPlatform(2)
Item MatchesFN::evaluateSingleton(const DynamicContext::Ptr &context) const
{
- const QRegExp regexp(pattern(context));
+ QRegExp regexp(pattern(context));
QString input;
const Item arg(m_operands.first()->evaluateSingleton(context));
@@ -75,7 +75,7 @@ ReplaceFN::ReplaceFN() : PatternPlatform(3)
Item ReplaceFN::evaluateSingleton(const DynamicContext::Ptr &context) const
{
- const QRegExp regexp(pattern(context));
+ QRegExp regexp(pattern(context));
QString input;
const Item arg(m_operands.first()->evaluateSingleton(context));
@@ -219,7 +219,7 @@ Item::Iterator::Ptr TokenizeFN::evaluateSequence(const DynamicContext::Ptr &cont
if(input.isEmpty())
return CommonValues::emptyIterator;
- const QRegExp regExp(pattern(context));
+ QRegExp regExp(pattern(context));
const QStringList result(input.split(regExp, QString::KeepEmptyParts));
return makeItemMappingIterator<Item>(ConstPtr(this),