- Removing libatasmart dependency from CMakeLists.txt

- Changing getQuirk regular expression evaluation to use QRegularExpression instead of QRegExp
This commit is contained in:
Caio Carvalho 2018-01-09 19:34:20 -03:00
parent d71731141c
commit 44fae61d4f
2 changed files with 7 additions and 6 deletions

View File

@ -79,7 +79,6 @@ kde_enable_exceptions()
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(BLKID REQUIRED blkid>=2.30) pkg_check_modules(BLKID REQUIRED blkid>=2.30)
pkg_check_modules(LIBATASMART REQUIRED libatasmart)
include_directories(${Qt5Core_INCLUDE_DIRS} ${UUID_INCLUDE_DIRS} ${BLKID_INCLUDE_DIRS} lib/ src/) include_directories(${Qt5Core_INCLUDE_DIRS} ${UUID_INCLUDE_DIRS} ${BLKID_INCLUDE_DIRS} lib/ src/)

View File

@ -20,7 +20,7 @@
#include <QJsonObject> #include <QJsonObject>
#include <QMap> #include <QMap>
#include <QRegExp> #include <QRegularExpression>
#include <QVariant> #include <QVariant>
#define MKELVIN_VALID_MIN ((qint64) ((-15LL*1000LL) + 273150LL)) #define MKELVIN_VALID_MIN ((qint64) ((-15LL*1000LL) + 273150LL))
@ -632,18 +632,20 @@ static SmartAttributeParsedData::SmartQuirk getQuirk(QString model, QString firm
{ {
const SmartAttributeParsedData::SmartQuirkDataBase *db; const SmartAttributeParsedData::SmartQuirkDataBase *db;
QRegExp modelRegex; QRegularExpression modelRegex;
QRegExp firmwareRegex; QRegularExpression firmwareRegex;
for (db = quirkDatabase(); db->model || db->firmware; db++) { for (db = quirkDatabase(); db->model || db->firmware; db++) {
if (db->model) { if (db->model) {
modelRegex.setPattern(QString::fromLocal8Bit(db->model)); modelRegex.setPattern(QString::fromLocal8Bit(db->model));
if (!modelRegex.exactMatch(model)) QRegularExpressionMatch match = modelRegex.match(model);
if (!match.hasMatch())
continue; continue;
} }
if (db->firmware) { if (db->firmware) {
firmwareRegex.setPattern(QString::fromLocal8Bit(db->firmware)); firmwareRegex.setPattern(QString::fromLocal8Bit(db->firmware));
if (!firmwareRegex.exactMatch(firmware)) QRegularExpressionMatch match = firmwareRegex.match(firmware);
if (!match.hasMatch())
continue; continue;
} }
return db->quirk; return db->quirk;