diff options
| author | Ahmad Samir <a.samirh78@gmail.com> | 2019-12-20 21:29:43 +0200 | 
|---|---|---|
| committer | Ahmad Samir <a.samirh78@gmail.com> | 2020-01-05 11:50:18 +0200 | 
| commit | 2055025c0c79a0e21e43fc8de02a4a2deedcb2fa (patch) | |
| tree | 8fcf6a363fd2a39207df1230a0cf259a48c89351 /src/kconfig_compiler | |
| parent | 500892be5d7526e226dbddb7d4570d47cf42eeff (diff) | |
| download | kconfig-2055025c0c79a0e21e43fc8de02a4a2deedcb2fa.tar.gz kconfig-2055025c0c79a0e21e43fc8de02a4a2deedcb2fa.tar.bz2 | |
Port QRegExp to QRegularExpression
Summary:
Port QRegExp::exactMatch() by using QRegularExpression::anchoredPattern()
to match the entire subject string.
Remove filenameOnly(), it's been broken for a long time (QStringLiteral("[/\\]")
is not a valid QRegExp pattern); besides it's not needed as QFileInfo::fileName()
is used to get the filename.
Test Plan: make && ctest
Reviewers: #frameworks, dfaure, ervin, apol
Reviewed By: dfaure, ervin
Subscribers: kde-frameworks-devel
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D26177
Diffstat (limited to 'src/kconfig_compiler')
| -rw-r--r-- | src/kconfig_compiler/kconfig_compiler.cpp | 26 | 
1 files changed, 10 insertions, 16 deletions
| diff --git a/src/kconfig_compiler/kconfig_compiler.cpp b/src/kconfig_compiler/kconfig_compiler.cpp index 985210f5..848595f2 100644 --- a/src/kconfig_compiler/kconfig_compiler.cpp +++ b/src/kconfig_compiler/kconfig_compiler.cpp @@ -32,7 +32,7 @@  #include <QSettings>  #include <QTextStream>  #include <QDomAttr> -#include <QRegExp> +#include <QRegularExpression>  #include <QStringList>  #include <qcommandlineparser.h> @@ -51,7 +51,7 @@ QTextStream cerr(stderr);  }  QStringList allNames; -QRegExp *validNameRegexp; +QRegularExpression *validNameRegexp;  QString This;  QString Const; @@ -641,15 +641,6 @@ static QString dumpNode(const QDomNode &node)      return msg;  } -static QString filenameOnly(const QString &path) -{ -    int i = path.lastIndexOf(QRegExp(QStringLiteral("[/\\]"))); -    if (i >= 0) { -        return path.mid(i + 1); -    } -    return path; -} -  static QString signalEnumName(const QString &signalName)  {      QString result; @@ -699,8 +690,10 @@ static void preProcessDefault(QString &defaultValue, const QString &name,          defaultValue = QLatin1String("default") + name;      } else if (type == QLatin1String("Color") && !defaultValue.isEmpty()) { -        QRegExp colorRe(QStringLiteral("\\d+,\\s*\\d+,\\s*\\d+(,\\s*\\d+)?")); -        if (colorRe.exactMatch(defaultValue)) { +        const QRegularExpression colorRe(QRegularExpression::anchoredPattern( +                                         QStringLiteral("\\d+,\\s*\\d+,\\s*\\d+(,\\s*\\d+)?"))); + +        if (colorRe.match(defaultValue).hasMatch()) {              defaultValue = QLatin1String("QColor( ") + defaultValue + QLatin1String(" )");          } else {              defaultValue = QLatin1String("QColor( \"") + defaultValue + QLatin1String("\" )"); @@ -953,7 +946,7 @@ CfgEntry *parseEntry(const QString &group, const QDomElement &element, const Cfg          }      } -    if (!validNameRegexp->exactMatch(name)) { +    if (!validNameRegexp->match(name).hasMatch()) {          if (nameIsEmpty)              cerr << "The key '" << key << "' can not be used as name for the entry because "                   "it is not a valid name. You need to specify a valid name for this entry." << endl; @@ -1568,7 +1561,8 @@ int main(int argc, char **argv)      app.setApplicationName(QStringLiteral("kconfig_compiler"));      app.setApplicationVersion(QStringLiteral(KCONFIG_VERSION_STRING)); -    validNameRegexp = new QRegExp(QStringLiteral("[a-zA-Z_][a-zA-Z0-9_]*")); +    validNameRegexp = new QRegularExpression(QRegularExpression::anchoredPattern( +                                             QStringLiteral("[a-zA-Z_][a-zA-Z0-9_]*")));      QString inputFilename, codegenFilename; @@ -2232,7 +2226,7 @@ int main(int argc, char **argv)      if (cfg.customAddons) {          h << "    // Include custom additions" << endl; -        h << "    #include \"" << filenameOnly(baseName) << "_addons." << cfg.headerExtension << '"' << endl; +        h << "    #include \"" << baseName << "_addons." << cfg.headerExtension << '"' << endl;      }      h << "};" << endl << endl; | 
