From beca53fbae5e84e7e3a884dd5accd1275bba83d9 Mon Sep 17 00:00:00 2001 From: flb Date: Fri, 30 Apr 2021 23:33:36 +0200 Subject: [PATCH] fixed broken extraction --- Makefile | 2 +- aiosu-rcm | 2 +- source/changelog_page.cpp | 3 +++ source/extract.cpp | 3 ++- source/list_download_tab.cpp | 10 +++++----- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 952cb4e..326c265 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ DATA := data INCLUDES := include lib/zipper/include /lib/borealis/library/include/borealis/extern/nlohmann APP_TITLE := All-in-One Switch Updater APP_AUTHOR := HamletDuFromage -APP_VERSION := 2.4.8 +APP_VERSION := 2.4.9 TARGET := $(notdir $(CURDIR)) ROMFS := resources diff --git a/aiosu-rcm b/aiosu-rcm index 34baf7c..e08b6b7 160000 --- a/aiosu-rcm +++ b/aiosu-rcm @@ -1 +1 @@ -Subproject commit 34baf7c8ccffef42c457215333bd2823910f0fc0 +Subproject commit e08b6b7ee63a6238716aad3c5dc96860d1bf9c2c diff --git a/source/changelog_page.cpp b/source/changelog_page.cpp index e15222e..7fbfd1f 100644 --- a/source/changelog_page.cpp +++ b/source/changelog_page.cpp @@ -142,6 +142,9 @@ ChangelogPage::ChangelogPage() : AppletFrame(true, true) verTitles.push_back("v2.4.8"); changes.push_back("\uE016 Fixed crashes when trying to focus empty lists (typically when in airplane mode)."); + verTitles.push_back("v2.4.9"); + changes.push_back("\uE016 Fixed some read-only files not being properly extracted thus preventing updating."); + for(int i = verTitles.size() -1 ; i >= 0; i--){ listItem = new brls::ListItem(verTitles[i]); change = changes[i]; diff --git a/source/extract.cpp b/source/extract.cpp index 3790c8a..677171f 100644 --- a/source/extract.cpp +++ b/source/extract.cpp @@ -58,7 +58,8 @@ void extract(const char * filename, const char* workingPath, int overwriteInis){ } if(!isIgnored){ if(entries[i].name == "sept/payload.bin" || entries[i].name == "atmosphere/fusee-secondary.bin" || entries[i].name == "atmosphere/stratosphere.romfs"){ - unzipper.extractEntry(entries[i].name, CONFIG_PATH_UNZIP); + std::ofstream readonlyFile(entries[i].name + ".aio"); + unzipper.extractEntryToStream(entries[i].name, readonlyFile); } else { unzipper.extractEntry(entries[i].name); diff --git a/source/list_download_tab.cpp b/source/list_download_tab.cpp index 6d0c17f..0d384fd 100644 --- a/source/list_download_tab.cpp +++ b/source/list_download_tab.cpp @@ -1,14 +1,15 @@ #include "list_download_tab.hpp" #include +#include +#include +#include "utils.hpp" +#include "fs.hpp" #include "download.hpp" #include "extract.hpp" #include "confirm_page.hpp" #include "worker_page.hpp" #include "current_cfw.hpp" -#include "utils.hpp" #include "app_page.hpp" -#include -#include namespace i18n = brls::i18n; using namespace i18n::literals; @@ -16,8 +17,7 @@ using namespace i18n::literals; ListDownloadTab::ListDownloadTab(const archiveType type) : brls::List() { - std::vector> links; - std::vector> sxoslinks; + std::vector> links, sxoslinks; std::string operation("menus/main/getting"_i18n); std::string firmwareText("menus/main/firmware_text"_i18n);