- 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)
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/)

View File

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