From 15ec1abb6a3acb77b36f14d3ddccc97a8df8c8e1 Mon Sep 17 00:00:00 2001 From: flow Date: Sat, 23 Jul 2022 23:13:53 -0300 Subject: feat: use QIODevice for calcuating the JAR hash on Modrinth Signed-off-by: flow --- launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'launcher/modplatform/modrinth') diff --git a/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp b/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp index 79d8edf7..f4898591 100644 --- a/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp +++ b/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp @@ -46,17 +46,19 @@ void ModrinthCheckUpdate::executeTask() if (mod->metadata()->hash_format != best_hash_type) { QByteArray jar_data; + QFile file(mod->fileinfo().absoluteFilePath()); try { - jar_data = FS::read(mod->fileinfo().absoluteFilePath()); + file.open(QFile::ReadOnly); } catch (FS::FileSystemException& e) { - qCritical() << QString("Failed to open / read JAR file of %1").arg(mod->name()); + qCritical() << QString("Failed to open JAR file of %1").arg(mod->name()); qCritical() << QString("Reason: ") << e.cause(); failed(e.what()); return; } - hash = QString(ProviderCaps.hash(ModPlatform::Provider::MODRINTH, jar_data, best_hash_type).toHex()); + hash = ProviderCaps.hash(ModPlatform::Provider::MODRINTH, &file, best_hash_type); + file.close(); } hashes.append(hash); -- cgit