DNS Lookup: Use std::optional instead of casting enum to int
Task-number: QTBUG-108873 Pick-to: 6.5 Change-Id: I0bd5dc004154c1c4026be2feb6187c53e5e77801 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
This commit is contained in:
parent
5e16397a2c
commit
b300c6b777
@ -13,7 +13,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
static int typeFromParameter(QStringView type)
|
||||
static std::optional<QDnsLookup::Type> typeFromParameter(QStringView type)
|
||||
{
|
||||
if (type.compare(u"a", Qt::CaseInsensitive) == 0)
|
||||
return QDnsLookup::A;
|
||||
@ -33,7 +33,7 @@ static int typeFromParameter(QStringView type)
|
||||
return QDnsLookup::SRV;
|
||||
if (type.compare(u"txt", Qt::CaseInsensitive) == 0)
|
||||
return QDnsLookup::TXT;
|
||||
return -1;
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
//! [0]
|
||||
@ -79,12 +79,12 @@ CommandLineParseResult parseCommandLine(QCommandLineParser &parser, DnsQuery *qu
|
||||
|
||||
if (parser.isSet(typeOption)) {
|
||||
const QString typeParameter = parser.value(typeOption);
|
||||
const int type = typeFromParameter(typeParameter);
|
||||
if (type < 0) {
|
||||
if (std::optional<QDnsLookup::Type> type = typeFromParameter(typeParameter)) {
|
||||
query->type = *type;
|
||||
} else {
|
||||
*errorMessage = "Bad record type: " + typeParameter;
|
||||
return CommandLineError;
|
||||
}
|
||||
query->type = static_cast<QDnsLookup::Type>(type);
|
||||
}
|
||||
|
||||
const QStringList positionalArguments = parser.positionalArguments();
|
||||
|
Loading…
Reference in New Issue
Block a user