diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/Importer.cpp b/trunk/ConsoleDataMigration/sources/ConsoleRestore/Importer.cpp index d3a18ba..0cf6d6e 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/Importer.cpp +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/Importer.cpp @@ -743,11 +743,9 @@ void ImportThreadFunc() { common::SaveDataMover saveDataMover; saveDataMover.StartImport(buf, bufSize, &s_ImportProgress); - if(saveDataMover.GetLastResult().IsFailure()) - { - s_IsImportSucceeded = false; - return; - } + COMMON_LOGGER_RETURN_VOID_SET_BOOL_IF_FAILED( + saveDataMover.GetLastResult(), s_IsImportSucceeded + ); } else { diff --git a/trunk/ConsoleDataMigration/sources/common/FileTransfer.cpp b/trunk/ConsoleDataMigration/sources/common/FileTransfer.cpp index 5f33263..185e3a8 100644 --- a/trunk/ConsoleDataMigration/sources/common/FileTransfer.cpp +++ b/trunk/ConsoleDataMigration/sources/common/FileTransfer.cpp @@ -774,10 +774,7 @@ nn::Result CalculateFileSizeRecursively(std::wstring currentDirectory, s64& file NN_LOG("%s\n", common::GetCharStr(currentDirectory.c_str())); result = dir.TryInitialize(currentDirectory.c_str()); - if(result.IsFailure()) - { - return result; - } + NN_UTIL_RETURN_IF_FAILED(result); for (;;) { diff --git a/trunk/ConsoleDataMigration/sources/common/SaveDataMover.cpp b/trunk/ConsoleDataMigration/sources/common/SaveDataMover.cpp index dc28294..26bc03d 100644 --- a/trunk/ConsoleDataMigration/sources/common/SaveDataMover.cpp +++ b/trunk/ConsoleDataMigration/sources/common/SaveDataMover.cpp @@ -131,21 +131,26 @@ void SaveDataMover::SetupExport() common::HeapManager contextHeap(sizeof(moveContext)); void* enc; enc = contextHeap.GetAddr(); - if(enc != NULL) + if(!enc) { - // AES暗号化する - nn::crypto::SwAesCtrContext swAesCtrContest; - - swAesCtrContest.Initialize(common::iv, common::key, sizeof(common::key)); - swAesCtrContest.Encrypt(enc, &moveContext, sizeof(moveContext)); - - common::SdReaderWriter sdWriter; - sdWriter.WriteBufWithCmac(common::MOVE_CONTEXT_PATHNAME, enc, sizeof(moveContext)); + m_Result = nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_APPLICATION, + nn::Result::DESCRIPTION_OUT_OF_MEMORY); + return; } + // AES暗号化する + nn::crypto::SwAesCtrContext swAesCtrContest; + + swAesCtrContest.Initialize(common::iv, common::key, sizeof(common::key)); + m_Result = swAesCtrContest.Encrypt(enc, &moveContext, sizeof(moveContext)); + COMMON_LOGGER_RETURN_VOID_IF_FAILED(m_Result); + + common::SdReaderWriter sdWriter; + m_Result = sdWriter.WriteBufWithCmac(common::MOVE_CONTEXT_PATHNAME, enc, sizeof(moveContext)); + COMMON_LOGGER_RETURN_VOID_IF_FAILED(m_Result); + // 3. 出力用ディレクトリの作成 // 3.1 システムセーブデータ用ディレクトリ - common::SdReaderWriter sdWriter; m_Result = sdWriter.CreateDirectory((::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring( common::SD_SAVEDATA_ROOT_NAME) + std::wstring(common::SD_SAEVDATA_SYS_NAME)).c_str()); COMMON_LOGGER_RETURN_VOID_IF_FAILED(m_Result); @@ -154,7 +159,6 @@ void SaveDataMover::SetupExport() m_Result = sdWriter.CreateDirectory((::std::wstring(common::SDMC_ROOT_DIRECTORY_PATH) + ::std::wstring( common::SD_SAVEDATA_ROOT_NAME) + std::wstring(common::SD_SAEVDATA_EXT_NAME)).c_str()); COMMON_LOGGER_RETURN_VOID_IF_FAILED(m_Result); - } void SaveDataMover::CalculateExportFileSize() @@ -361,7 +365,8 @@ void SaveDataMover::ImportSystemSaveData(void* buf, size_t bufSize, u64* progres // ディレクトリ内を見てセーブデータをインポートする。 while(1) { - root.TryRead(&numOut, &entry, 1); + m_Result = root.TryRead(&numOut, &entry, 1); + COMMON_LOGGER_RETURN_VOID_IF_FAILED(m_Result); if(numOut == 0) { break; @@ -419,7 +424,8 @@ void SaveDataMover::ImportSharedExtSaveData(void* buf, size_t bufSize, u64* prog s32 numEntry; while(1) { - srcRoot.TryRead(&numEntry, &entry, 1); + m_Result = srcRoot.TryRead(&numEntry, &entry, 1); + COMMON_LOGGER_RETURN_VOID_IF_FAILED(m_Result); if(numEntry == 0) { break; @@ -525,16 +531,16 @@ nn::Result SaveDataMover::CopyRecursivly(void* buf, size_t bufSize, const char* if (entry.attributes.isDirectory) { - nn::Result result = nn::fs::TryCreateDirectory(destPath); - if (result.IsFailure()) + m_Result = nn::fs::TryCreateDirectory(destPath); + if (m_Result.IsFailure()) { - if (result.GetDescription() == nn::fs::DESCRIPTION_FAT_ALREADY_EXISTS - && result.GetModule() == nn::Result::MODULE_NN_FS) + if (m_Result.GetDescription() == nn::fs::DESCRIPTION_FAT_ALREADY_EXISTS + && m_Result.GetModule() == nn::Result::MODULE_NN_FS) { } else { - return result; + return m_Result; } } m_Result = CopyRecursivly(buf, bufSize, srcPath, destPath, progress);