aboutsummaryrefslogtreecommitdiff
path: root/api/logic/MMCZip.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/MMCZip.cpp')
-rw-r--r--api/logic/MMCZip.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/api/logic/MMCZip.cpp b/api/logic/MMCZip.cpp
index 2d18b2b8..50b95c8e 100644
--- a/api/logic/MMCZip.cpp
+++ b/api/logic/MMCZip.cpp
@@ -244,6 +244,12 @@ QStringList MMCZip::extractSubDir(QuaZip *zip, const QString & subdir, const QSt
}
// ours
+bool MMCZip::extractRelFile(QuaZip *zip, const QString &file, const QString &target)
+{
+ return JlCompress::extractFile(zip, file, target);
+}
+
+// ours
QStringList MMCZip::extractDir(QString fileCompressed, QString dir)
{
QuaZip zip(fileCompressed);
@@ -253,3 +259,25 @@ QStringList MMCZip::extractDir(QString fileCompressed, QString dir)
}
return MMCZip::extractSubDir(&zip, "", dir);
}
+
+// ours
+QStringList MMCZip::extractDir(QString fileCompressed, QString subdir, QString dir)
+{
+ QuaZip zip(fileCompressed);
+ if (!zip.open(QuaZip::mdUnzip))
+ {
+ return {};
+ }
+ return MMCZip::extractSubDir(&zip, subdir, dir);
+}
+
+// ours
+bool MMCZip::extractFile(QString fileCompressed, QString file, QString target)
+{
+ QuaZip zip(fileCompressed);
+ if (!zip.open(QuaZip::mdUnzip))
+ {
+ return {};
+ }
+ return MMCZip::extractRelFile(&zip, file, target);
+}