diff --git a/src/libcalamares/locale/TimeZone.cpp b/src/libcalamares/locale/TimeZone.cpp index c0804ebd6..274cf7eab 100644 --- a/src/libcalamares/locale/TimeZone.cpp +++ b/src/libcalamares/locale/TimeZone.cpp @@ -15,6 +15,7 @@ #include "utils/String.h" #include +#include #include static const char TZ_DATA_FILE[] = "/usr/share/zoneinfo/zone.tab"; @@ -108,7 +109,7 @@ loadTZData( RegionVector& regions, ZoneVector& zones, QTextStream& in ) continue; } - QStringList list = line.split( QRegExp( "[\t ]" ), SplitSkipEmptyParts ); + QStringList list = line.split( QRegularExpression( "[\t ]" ), SplitSkipEmptyParts ); if ( list.size() < 3 ) { continue; @@ -140,7 +141,7 @@ loadTZData( RegionVector& regions, ZoneVector& zones, QTextStream& in ) } QString position = list.at( 1 ); - int cooSplitPos = position.indexOf( QRegExp( "[-+]" ), 1 ); + int cooSplitPos = position.indexOf( QRegularExpression( "[-+]" ), 1 ); double latitude; double longitude; if ( cooSplitPos > 0 ) diff --git a/src/libcalamares/utils/Yaml.cpp b/src/libcalamares/utils/Yaml.cpp index b5222ceff..25077e985 100644 --- a/src/libcalamares/utils/Yaml.cpp +++ b/src/libcalamares/utils/Yaml.cpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include void operator>>( const YAML::Node& node, QStringList& v ) @@ -32,9 +32,6 @@ operator>>( const YAML::Node& node, QStringList& v ) namespace CalamaresUtils { -const QRegExp _yamlScalarTrueValues = QRegExp( "true|True|TRUE|on|On|ON" ); -const QRegExp _yamlScalarFalseValues = QRegExp( "false|False|FALSE|off|Off|OFF" ); - QVariant yamlToVariant( const YAML::Node& node ) { @@ -60,21 +57,26 @@ yamlToVariant( const YAML::Node& node ) QVariant yamlScalarToVariant( const YAML::Node& scalarNode ) { + static const auto yamlScalarTrueValues = QRegularExpression( "^(true|True|TRUE|on|On|ON)$" ); + static const auto yamlScalarFalseValues = QRegularExpression( "^(false|False|FALSE|off|Off|OFF)$" ); + static const auto yamlIntegerValues = QRegularExpression( "^[-+]?\\d+$" ); + static const auto yamlFloatValues = QRegularExpression( "^[-+]?\\d*\\.?\\d+$" ); + std::string stdScalar = scalarNode.as< std::string >(); QString scalarString = QString::fromStdString( stdScalar ); - if ( _yamlScalarTrueValues.exactMatch( scalarString ) ) + if ( yamlScalarTrueValues.match( scalarString ).hasMatch() ) { return QVariant( true ); } - if ( _yamlScalarFalseValues.exactMatch( scalarString ) ) + if ( yamlScalarFalseValues.match( scalarString ).hasMatch() ) { return QVariant( false ); } - if ( QRegExp( "[-+]?\\d+" ).exactMatch( scalarString ) ) + if ( yamlIntegerValues.match( scalarString ).hasMatch() ) { return QVariant( scalarString.toLongLong() ); } - if ( QRegExp( "[-+]?\\d*\\.?\\d+" ).exactMatch( scalarString ) ) + if ( yamlFloatValues.match( scalarString ).hasMatch() ) { return QVariant( scalarString.toDouble() ); }