Skip to content

Commit

Permalink
Fix nickserv identification (fix wildcard regexp on strings containin…
Browse files Browse the repository at this point in the history
…g a slash) (#2589)

* Fix wildcard regexp on strings containing a slash - fix for qt >= 6.6, qt >= 6.0, qt5
  • Loading branch information
ctrlaltca authored Jan 8, 2024
1 parent 0060581 commit 9b21b0f
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/kvilib/ext/KviRegExp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,21 @@ QString KviRegExp::getCompletePattern() const
{
if(m_ePs == PatternSyntax::Wildcard)
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
// Qt5 always add anchors to the converted regexp, strip them
#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
return QRegularExpression::wildcardToRegularExpression(m_szPattern, QRegularExpression::UnanchoredWildcardConversion | QRegularExpression::NonPathWildcardConversion);
#elif QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
QString tmp = QRegularExpression::wildcardToRegularExpression(m_szPattern, QRegularExpression::UnanchoredWildcardConversion);
// fix #2589 - permit slash chars in matched string
tmp.replace("[^/]*", "[\\d\\D]*");
return tmp;
#else
QString tmp = QRegularExpression::wildcardToRegularExpression(m_szPattern);
// Qt5 always add anchors to the converted regexp, strip them
tmp.remove(0, 5); // "\\A(?:"
tmp.chop(3); // ")\\z"
// fix #2589 - permit slash chars in matched string
tmp.replace("[^/]*", "[\\d\\D]*");
return tmp;
#else
return QRegularExpression::wildcardToRegularExpression(m_szPattern, QRegularExpression::UnanchoredWildcardConversion);
#endif
}
return m_szPattern;
Expand Down

0 comments on commit 9b21b0f

Please sign in to comment.