diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2012-04-23 16:29:18 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-24 14:39:38 +0200 |
commit | c1623a0d42c9869e5a1d04081e7660722a863de5 (patch) | |
tree | 17a58be3a4c80b143add805b7ff8218daab61106 /src/xmlpatterns/schema/qxsdtypechecker.cpp | |
parent | c18f589a757b2c4cb8c5e66a92f34ac005223cfe (diff) | |
download | qtxmlpatterns-c1623a0d42c9869e5a1d04081e7660722a863de5.tar.gz |
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/schema/qxsdtypechecker.cpp')
-rw-r--r-- | src/xmlpatterns/schema/qxsdtypechecker.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/xmlpatterns/schema/qxsdtypechecker.cpp b/src/xmlpatterns/schema/qxsdtypechecker.cpp index e0ce55b..af09816 100644 --- a/src/xmlpatterns/schema/qxsdtypechecker.cpp +++ b/src/xmlpatterns/schema/qxsdtypechecker.cpp @@ -452,7 +452,7 @@ bool XsdTypeChecker::checkConstrainingFacetsString(const QString &value, const X bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(value)) { found = true; break; @@ -547,7 +547,7 @@ bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; @@ -633,7 +633,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long v bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; @@ -719,7 +719,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString & bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; @@ -820,7 +820,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDateTime(const QDateTime &value, con bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; @@ -898,7 +898,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDuration(const AtomicValue::Ptr&, co bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; @@ -925,7 +925,7 @@ bool XsdTypeChecker::checkConstrainingFacetsBoolean(bool, const QString &lexical bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; @@ -1038,7 +1038,7 @@ bool XsdTypeChecker::checkConstrainingFacetsQName(const QXmlName &value, const Q bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; @@ -1215,7 +1215,7 @@ bool XsdTypeChecker::checkConstrainingFacetsList(const QStringList &values, cons bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; @@ -1272,7 +1272,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnion(const QString &value, const QS bool found = false; for (int j = 0; j < multiValue.count(); ++j) { const QString pattern = multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(); - const QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); + QRegExp exp = PatternPlatform::parsePattern(pattern, m_context, m_reflection); if (exp.exactMatch(lexicalValue)) { found = true; break; |