Fix conversion to/from QByteArray in sfdisk backend.
CCBUG: 384321
This commit is contained in:
parent
6996687123
commit
f09cb6435e
|
@ -72,7 +72,7 @@ QList<Device*> SfdiskBackend::scanDevices(bool excludeReadOnly)
|
|||
QStringLiteral("type,name") });
|
||||
|
||||
if (cmd.run(-1) && cmd.exitCode() == 0) {
|
||||
const QJsonDocument jsonDocument = QJsonDocument::fromJson(cmd.output().toUtf8());
|
||||
const QJsonDocument jsonDocument = QJsonDocument::fromJson(cmd.output().toLocal8Bit());
|
||||
const QJsonObject jsonObject = jsonDocument.object();
|
||||
const QJsonArray jsonArray = jsonObject[QLatin1String("blockdevices")].toArray();
|
||||
for (const auto &deviceLine : jsonArray) {
|
||||
|
@ -140,7 +140,7 @@ Device* SfdiskBackend::scanDevice(const QString& deviceNode)
|
|||
if (jsonCommand.exitCode() != 0)
|
||||
return d;
|
||||
|
||||
const QJsonObject jsonObject = QJsonDocument::fromJson(jsonCommand.output().toUtf8()).object();
|
||||
const QJsonObject jsonObject = QJsonDocument::fromJson(jsonCommand.output().toLocal8Bit()).object();
|
||||
const QJsonObject partitionTable = jsonObject[QLatin1String("partitiontable")].toObject();
|
||||
|
||||
QString tableType = partitionTable[QLatin1String("label")].toString();
|
||||
|
@ -298,7 +298,7 @@ FileSystem::Type SfdiskBackend::detectFileSystem(const QString& partitionPath)
|
|||
partitionPath });
|
||||
|
||||
if (lsblkCommand.run(-1) && lsblkCommand.exitCode() == 0) {
|
||||
const QJsonArray partitionArray = QJsonDocument::fromJson(lsblkCommand.output().toUtf8()).object()[QLatin1String("blockdevices")].toArray();
|
||||
const QJsonArray partitionArray = QJsonDocument::fromJson(lsblkCommand.output().toLocal8Bit()).object()[QLatin1String("blockdevices")].toArray();
|
||||
|
||||
for (const auto &partition : partitionArray) {
|
||||
QJsonObject partitionObject = partition.toObject();
|
||||
|
|
|
@ -71,7 +71,7 @@ bool SfdiskDevice::createPartitionTable(Report& report, const PartitionTable& pt
|
|||
if (ptable.type() == PartitionTable::msdos || ptable.type() == PartitionTable::msdos_sectorbased)
|
||||
tableType = QByteArrayLiteral("dos");
|
||||
else
|
||||
tableType = ptable.typeName().toLatin1();
|
||||
tableType = ptable.typeName().toLocal8Bit();
|
||||
|
||||
ExternalCommand createCommand(report, QStringLiteral("sfdisk"), { m_deviceNode } );
|
||||
if ( createCommand.start(-1) && createCommand.write(QByteArrayLiteral("label: ") + tableType +
|
||||
|
|
|
@ -139,7 +139,7 @@ FileSystem::Type SfdiskPartitionTable::detectFileSystemBySector(Report& report,
|
|||
|
||||
ExternalCommand jsonCommand(QStringLiteral("sfdisk"), { QStringLiteral("--json"), device.deviceNode() } );
|
||||
if (jsonCommand.run(-1) && jsonCommand.exitCode() == 0) {
|
||||
const QJsonArray partitionTable = QJsonDocument::fromJson(jsonCommand.output().toUtf8()).object()[QLatin1String("partitiontable")].toObject()[QLatin1String("partitions")].toArray();
|
||||
const QJsonArray partitionTable = QJsonDocument::fromJson(jsonCommand.output().toLocal8Bit()).object()[QLatin1String("partitiontable")].toObject()[QLatin1String("partitions")].toArray();
|
||||
for (const auto &partition : partitionTable) {
|
||||
const QJsonObject partitionObject = partition.toObject();
|
||||
const qint64 start = partitionObject[QLatin1String("start")].toVariant().toLongLong();
|
||||
|
|
Loading…
Reference in New Issue