Fix conversion to/from QByteArray in sfdisk backend.

CCBUG: 384321
This commit is contained in:
Andrius Štikonas 2017-12-03 12:40:57 +00:00
parent 6996687123
commit f09cb6435e
3 changed files with 5 additions and 5 deletions

View File

@ -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();

View File

@ -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 +

View File

@ -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();