r629を巻き戻し。サイズチェック時はエラーをスキップできないので。

NN_UTIL_RETURN_IF_FAILEDをCOMMON_LOGGER_RETURN_IF_FAILEDに置換
CmacAdderが出力先ディレクトリ初期化時にエラーで止まっていたので修正

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@631 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-02-14 02:54:42 +00:00
parent 4111408dcb
commit 7320c776ea
13 changed files with 286 additions and 282 deletions

View File

@ -234,10 +234,8 @@ nn::Result NandSavedataChecker::CleanUp(bool erase)
{
nn::Result result;
result = m_pSharedExtSaveChecker->CalculateFileSize();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = m_pSysSaveChecker->CalculateFileSize();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
m_pSharedExtSaveChecker->CalculateFileSize();
m_pSysSaveChecker->CalculateFileSize();
result = m_pSharedExtSaveChecker->CleanUp(erase);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);

View File

@ -418,7 +418,7 @@ nn::Result ImportCountryLanguageData()
SetLanguage(reinterpret_cast<common::CfgCountryLanguage*> (buf)->language);
}
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
}
}
else
@ -539,7 +539,7 @@ nn::Result ImportMcuRtc(common::HardwareStateManager& manager)
}
}
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
}
else
{
@ -678,7 +678,7 @@ nn::Result ImportIvs()
{
result = nn::fs::CTR::ImportIntegrityVerificationSeed(
*reinterpret_cast<nn::fs::CTR::IntegrityVerificationSeed*>(dec));
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
COMMON_LOGGER("Import SDCI.\n");
}
else
@ -703,7 +703,7 @@ nn::Result ImportIvs()
}
nn::fs::Unmount(common::NAND_ARCHIVE_NAME);
}
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
}
else
{
@ -1725,7 +1725,7 @@ nn::Result InitializeHardwareDependentSetting()
common::CfgCalData cfgCalData;
result = ImportCalData(&cfgCalData);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::cfg::CTR::init::SetConfig(GET_CFG_KEY(NN_CFG_HID, NN_CFG_HID_CAL_TOUCHPANEL),
&cfgCalData.touchPanelCfgData, sizeof(TouchPanelCfgData));
@ -1778,11 +1778,11 @@ nn::Result SetupVersionAndFileList()
// ファイル一覧を読み込む
nn::Result result = ReadFileList(&s_SdFileSize, &s_FileLists);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
// バージョンデータを読み込む
result = ReadVersionData();
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
return result;
}
@ -1801,7 +1801,7 @@ nn::Result ReadFileList(SdFileSize* sdFiles, common::ImportDataList* fileList)
// サイズ取得のため一時的に開く
result = file.TryInitialize(common::FILE_LIST_PATHNAME);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = file.TryGetSize(&fileSize);
if (result.IsFailure())

View File

@ -39,14 +39,14 @@ PreinstallImporter::~PreinstallImporter()
nn::Result PreinstallImporter::SetupSd(bool* isAlreadyAvailable)
{
// SDカードがインポート可能状態かどうかチェック
NN_UTIL_RETURN_IF_FAILED(
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
nn::am::QueryAvailableExternalTitleDatabase(isAlreadyAvailable)
);
// タイトルデータベースを作成する
if (!*isAlreadyAvailable)
{
NN_UTIL_RETURN_IF_FAILED(
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
nn::am::InitializeExternalTitleDatabase()
);
}
@ -68,7 +68,7 @@ nn::Result PreinstallImporter::ListTitles(nn::ProgramId* list, size_t* num, bit6
}
// 通信結果をパースしてタイトルリストを作成する
NN_UTIL_RETURN_IF_FAILED(
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
GetHtmlBodyAndParseXmlData(comm, list, num)
);
return nn::ResultSuccess();
@ -78,7 +78,7 @@ nn::Result PreinstallImporter::ListTitlesBasedOnTickets(nn::ProgramId* list, siz
{
s32 personalizedTicketNum;
nn::am::TicketInfo ticketInfo[256];
NN_UTIL_RETURN_IF_FAILED(
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
nn::am::GetPersonalizedTicketInfoList(&personalizedTicketNum, ticketInfo, 256)
);
@ -121,7 +121,7 @@ nn::Result PreinstallImporter::GetHtmlBodyAndParseXmlData(BgsCommunicator& comm,
}
// XMLを解析してタイトルリストを設定する
NN_UTIL_RETURN_IF_FAILED(ParseXmlData(buf, list, num));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(ParseXmlData(buf, list, num));
return nn::ResultSuccess();
}
@ -140,7 +140,7 @@ nn::Result PreinstallImporter::ParseXmlData(void* buf, nn::ProgramId* list, size
nn::xml::simple::SimpleXmlParser simpleXmlParser(pAllocator);
const nn::xml::simple::SimpleXmlParser::Node* pTaskIdNode;
NN_UTIL_RETURN_IF_FAILED(
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
SetNodetoTitleIds(simpleXmlParser, xmlResult, &pTaskIdNode)
);

View File

@ -1,153 +1,153 @@
/*---------------------------------------------------------------------------*
Project: Horizon
File: RegionIdModifier.cpp
Copyright (C)2011 Nintendo Co., Ltd. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Rev:$
*---------------------------------------------------------------------------*/
#include "RegionIdModifier.h"
#include <cwchar>
#include <cstring>
struct CountryData
{
u32 id; // 上記定数にあるように、国IDと地域IDを組み合わせたID
u16 regionName[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NUM_LANGUAGES][nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NAME_LENGTH]; // NULL終端込み
u8 order[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NUM_LANGUAGES]; // 言語ごとの地域名並び順「未設定」が0になるので、最初の地域は1
u16 latitude; // リストの値を 65536/360 倍して格納して下さい
u16 longitude; // リストの値を 65536/360 倍して格納して下さい
};
const size_t NUP_VERSION_TO_REGIONNUM[] =
{
1, // ローンチ(0)
1, // 0thNUP(1)
2, // 1stNUP(2)
2, // 1.05NUP(3)
2, // 1.1NUP(4)
3, // 2ndNUP(5)
3, // 2.1NUP(6)
};
const wchar_t* DIR_PATH[] =
{
L"0/JP/",
L"0/US/",
L"0/EU/",
L"2/JP/",
L"2/US/",
L"2/EU/",
L"5/JP/",
L"5/US/",
L"5/EU/"
};
RegionIdModifier::RegionIdModifier(u16 id, u8 nupVersion, u8 regionCode, const wchar_t* regionName)
{
m_Id = id;
m_NupVersion = nupVersion;
m_RegionCode = regionCode;
if (regionName != NULL)
{
std::wcsncpy(m_RegionName, regionName, sizeof(m_RegionName) / sizeof(wchar_t));
}
}
bool RegionIdModifier::IsValid()
{
return (m_Id & 0x00ff) != 0x01;
}
const PathList* RegionIdModifier::GetDirectoryPath()
{
// 範囲外のリージョン
if (nn::cfg::CTR::CFG_REGION_EUROPE < m_RegionCode)
{
return NULL;
}
for (u8 i = 0; i < nn::cfg::CTR::CFG_REGION_EUROPE + 1; i++)
{
std::wcsncpy(m_DirectoryPathBuf[i].path, DIR_PATH[m_RegionCode + i * (nn::cfg::CTR::CFG_REGION_EUROPE + 1)],
PATHLIST_LENGTH);
}
return m_DirectoryPathBuf;
}
size_t RegionIdModifier::GetDirectoryPathNum()
{
// 範囲外のリージョン
if (nn::cfg::CTR::CFG_REGION_EUROPE < m_RegionCode)
{
return 0;
}
const size_t countryNum = sizeof(NUP_VERSION_TO_REGIONNUM) / sizeof(NUP_VERSION_TO_REGIONNUM[0]);
if (m_NupVersion > countryNum - 1)
{
return NUP_VERSION_TO_REGIONNUM[countryNum - 1];
}
else
{
return NUP_VERSION_TO_REGIONNUM[m_NupVersion];
}
}
const wchar_t* RegionIdModifier::GetFileName()
{
std::swprintf(m_FileNameBuf, sizeof(m_FileNameBuf), L"%d_LZ.bin", m_Id >> 8);
return m_FileNameBuf;
}
const PathList* RegionIdModifier::GetFilePath()
{
std::memset(m_FilePathBuf, 0, sizeof(m_FilePathBuf));
GetDirectoryPath();
for (u8 i = 0; i < GetDirectoryPathNum(); i++)
{
size_t writeSize = std::wcslen(m_DirectoryPathBuf[i].path);
std::wcsncpy(m_FilePathBuf[i].path, m_DirectoryPathBuf[i].path, writeSize);
std::wcsncat(m_FilePathBuf[i].path, GetFileName(), PATHLIST_LENGTH - writeSize);
}
return m_FilePathBuf;
}
size_t RegionIdModifier::GetFilePathNum()
{
return GetDirectoryPathNum();
}
bool RegionIdModifier::GetValidRegionId(void* buf, size_t size, u8* id)
{
if (buf == NULL || size == 0)
{
return false;
}
u32 numRegion; // その国に含まれる地域の数
numRegion = *reinterpret_cast<u32*>(buf);
CountryData* pCountry;
pCountry = reinterpret_cast<CountryData*>(&reinterpret_cast<u32*>(buf)[1]);
for (u32 i = 0; i < numRegion + 1; i++)
{
if (std::wcscmp(m_RegionName, reinterpret_cast<wchar_t*>(pCountry->regionName[0])) == 0)
{
*id = (pCountry->id >> 16) & 0x00ff;
return true;
}
pCountry++;
}
return false;
}
/*---------------------------------------------------------------------------*
Project: Horizon
File: RegionIdModifier.cpp
Copyright (C)2011 Nintendo Co., Ltd. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Rev:$
*---------------------------------------------------------------------------*/
#include "RegionIdModifier.h"
#include <cwchar>
#include <cstring>
struct CountryData
{
u32 id; // 上記定数にあるように、国IDと地域IDを組み合わせたID
u16 regionName[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NUM_LANGUAGES][nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NAME_LENGTH]; // NULL終端込み
u8 order[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NUM_LANGUAGES]; // 言語ごとの地域名並び順「未設定」が0になるので、最初の地域は1
u16 latitude; // リストの値を 65536/360 倍して格納して下さい
u16 longitude; // リストの値を 65536/360 倍して格納して下さい
};
const size_t NUP_VERSION_TO_REGIONNUM[] =
{
1, // ローンチ(0)
1, // 0thNUP(1)
2, // 1stNUP(2)
2, // 1.05NUP(3)
2, // 1.1NUP(4)
3, // 2ndNUP(5)
3, // 2.1NUP(6)
};
const wchar_t* DIR_PATH[] =
{
L"0/JP/",
L"0/US/",
L"0/EU/",
L"2/JP/",
L"2/US/",
L"2/EU/",
L"5/JP/",
L"5/US/",
L"5/EU/"
};
RegionIdModifier::RegionIdModifier(u16 id, u8 nupVersion, u8 regionCode, const wchar_t* regionName)
{
m_Id = id;
m_NupVersion = nupVersion;
m_RegionCode = regionCode;
if (regionName != NULL)
{
std::wcsncpy(m_RegionName, regionName, sizeof(m_RegionName) / sizeof(wchar_t));
}
}
bool RegionIdModifier::IsValid()
{
return (m_Id & 0x00ff) != 0x01;
}
const PathList* RegionIdModifier::GetDirectoryPath()
{
// 範囲外のリージョン
if (nn::cfg::CTR::CFG_REGION_EUROPE < m_RegionCode)
{
return NULL;
}
for (u8 i = 0; i < nn::cfg::CTR::CFG_REGION_EUROPE + 1; i++)
{
std::wcsncpy(m_DirectoryPathBuf[i].path, DIR_PATH[m_RegionCode + i * (nn::cfg::CTR::CFG_REGION_EUROPE + 1)],
PATHLIST_LENGTH);
}
return m_DirectoryPathBuf;
}
size_t RegionIdModifier::GetDirectoryPathNum()
{
// 範囲外のリージョン
if (nn::cfg::CTR::CFG_REGION_EUROPE < m_RegionCode)
{
return 0;
}
const size_t countryNum = sizeof(NUP_VERSION_TO_REGIONNUM) / sizeof(NUP_VERSION_TO_REGIONNUM[0]);
if (m_NupVersion > countryNum - 1)
{
return NUP_VERSION_TO_REGIONNUM[countryNum - 1];
}
else
{
return NUP_VERSION_TO_REGIONNUM[m_NupVersion];
}
}
const wchar_t* RegionIdModifier::GetFileName()
{
std::swprintf(m_FileNameBuf, sizeof(m_FileNameBuf), L"%d_LZ.bin", m_Id >> 8);
return m_FileNameBuf;
}
const PathList* RegionIdModifier::GetFilePath()
{
std::memset(m_FilePathBuf, 0, sizeof(m_FilePathBuf));
GetDirectoryPath();
for (u8 i = 0; i < GetDirectoryPathNum(); i++)
{
size_t writeSize = std::wcslen(m_DirectoryPathBuf[i].path);
std::wcsncpy(m_FilePathBuf[i].path, m_DirectoryPathBuf[i].path, writeSize);
std::wcsncat(m_FilePathBuf[i].path, GetFileName(), PATHLIST_LENGTH - writeSize);
}
return m_FilePathBuf;
}
size_t RegionIdModifier::GetFilePathNum()
{
return GetDirectoryPathNum();
}
bool RegionIdModifier::GetValidRegionId(void* buf, size_t size, u8* id)
{
if (buf == NULL || size == 0)
{
return false;
}
u32 numRegion; // その国に含まれる地域の数
numRegion = *reinterpret_cast<u32*>(buf);
CountryData* pCountry;
pCountry = reinterpret_cast<CountryData*>(&reinterpret_cast<u32*>(buf)[1]);
for (u32 i = 0; i < numRegion + 1; i++)
{
if (std::wcscmp(m_RegionName, reinterpret_cast<wchar_t*>(pCountry->regionName[0])) == 0)
{
*id = (pCountry->id >> 16) & 0x00ff;
return true;
}
pCountry++;
}
return false;
}

View File

@ -1,89 +1,89 @@
/*---------------------------------------------------------------------------*
Project: Horizon
File: RegionIdModifier.h
Copyright (C)2011 Nintendo Co., Ltd. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Rev:$
*---------------------------------------------------------------------------*/
#ifndef _REGION_ID_MODIFIER_H_
#define _REGION_ID_MODIFIER_H_
#if defined(__ARMCC_VERSION)
#include <nn.h>
#include <nn/cfg.h>
#else
#include "test_common.h"
#endif
const size_t PATHLIST_LENGTH = 32;
struct PathList
{
wchar_t path[PATHLIST_LENGTH];
};
//! @brief データ移行ツールで破壊した地域idを修正するためのクラスです
class RegionIdModifier
{
public:
//! @brief パラメータを与えて初期化します。
//! @param[in] id SimpleAddressの上位16ビット
//! @param[in] nupVersion NUPバージョン
//! @param[in] regionCode リージョン
//! @param[in] regionName 地域名
RegionIdModifier(u16 id, u8 nupVersion, u8 regionCode, const wchar_t* regionName);
~RegionIdModifier() {};
//! @brief 正しいIDかどうか
bool IsValid();
//! @brief バージョン、リージョンに応じたディレクトリパスの配列を取得します
//! @return パス名。バージョン・リージョンが正しくない場合はNULL
const PathList* GetDirectoryPath();
//! @brief バージョン、リージョンに応じたディレクトリパス数を取得します
size_t GetDirectoryPathNum();
//! @brief 国idに応じたファイル名を取得します
const wchar_t* GetFileName();
//! @brief バージョン、リージョン、国idに応じたファイルパスの配列を取得します
const PathList* GetFilePath();
//! @brief バージョン、リージョン、国idに応じたファイルパス数を取得します
size_t GetFilePathNum();
//! @brief 与えられたバッファから正しい地域idを取得します
//! @param[in] buf 展開済みの地域データの入ったバッファ
//! @param[in] size バッファサイズ
//! @param[out] id 正しいid
//! @return 正しいidが見つかったかどうか
bool GetValidRegionId(void* buf , size_t size, u8* id);
private:
//! @brief SimpleAddressの上位16ビット
// 上位8ビットが国id,下位8ビットが地域
u16 m_Id;
//! @brief NUPバージョン番号
u8 m_NupVersion;
//! @brief リージョンコード
u8 m_RegionCode;
//! @brief 地域名
wchar_t m_RegionName[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NAME_LENGTH];
//! @brief ファイル名を保存するバッファ
wchar_t m_FileNameBuf[PATHLIST_LENGTH];
//! @brief ディレクトリパスを保存するバッファ
PathList m_DirectoryPathBuf[nn::cfg::CTR::CFG_REGION_EUROPE + 1];
//! @brief ファイルパスを保存するバッファ
PathList m_FilePathBuf[nn::cfg::CTR::CFG_REGION_EUROPE + 1];
};
#endif // _REGION_ID_MODIFIER_H_
/*---------------------------------------------------------------------------*
Project: Horizon
File: RegionIdModifier.h
Copyright (C)2011 Nintendo Co., Ltd. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Rev:$
*---------------------------------------------------------------------------*/
#ifndef _REGION_ID_MODIFIER_H_
#define _REGION_ID_MODIFIER_H_
#if defined(__ARMCC_VERSION)
#include <nn.h>
#include <nn/cfg.h>
#else
#include "test_common.h"
#endif
const size_t PATHLIST_LENGTH = 32;
struct PathList
{
wchar_t path[PATHLIST_LENGTH];
};
//! @brief データ移行ツールで破壊した地域idを修正するためのクラスです
class RegionIdModifier
{
public:
//! @brief パラメータを与えて初期化します。
//! @param[in] id SimpleAddressの上位16ビット
//! @param[in] nupVersion NUPバージョン
//! @param[in] regionCode リージョン
//! @param[in] regionName 地域名
RegionIdModifier(u16 id, u8 nupVersion, u8 regionCode, const wchar_t* regionName);
~RegionIdModifier() {};
//! @brief 正しいIDかどうか
bool IsValid();
//! @brief バージョン、リージョンに応じたディレクトリパスの配列を取得します
//! @return パス名。バージョン・リージョンが正しくない場合はNULL
const PathList* GetDirectoryPath();
//! @brief バージョン、リージョンに応じたディレクトリパス数を取得します
size_t GetDirectoryPathNum();
//! @brief 国idに応じたファイル名を取得します
const wchar_t* GetFileName();
//! @brief バージョン、リージョン、国idに応じたファイルパスの配列を取得します
const PathList* GetFilePath();
//! @brief バージョン、リージョン、国idに応じたファイルパス数を取得します
size_t GetFilePathNum();
//! @brief 与えられたバッファから正しい地域idを取得します
//! @param[in] buf 展開済みの地域データの入ったバッファ
//! @param[in] size バッファサイズ
//! @param[out] id 正しいid
//! @return 正しいidが見つかったかどうか
bool GetValidRegionId(void* buf , size_t size, u8* id);
private:
//! @brief SimpleAddressの上位16ビット
// 上位8ビットが国id,下位8ビットが地域
u16 m_Id;
//! @brief NUPバージョン番号
u8 m_NupVersion;
//! @brief リージョンコード
u8 m_RegionCode;
//! @brief 地域名
wchar_t m_RegionName[nn::cfg::CTR::CFG_SIMPLE_ADDRESS_NAME_LENGTH];
//! @brief ファイル名を保存するバッファ
wchar_t m_FileNameBuf[PATHLIST_LENGTH];
//! @brief ディレクトリパスを保存するバッファ
PathList m_DirectoryPathBuf[nn::cfg::CTR::CFG_REGION_EUROPE + 1];
//! @brief ファイルパスを保存するバッファ
PathList m_FilePathBuf[nn::cfg::CTR::CFG_REGION_EUROPE + 1];
};
#endif // _REGION_ID_MODIFIER_H_

View File

@ -233,9 +233,9 @@ nn::Result ShopOperationConnect(ECAccountInfo** pAccountInfo)
-------------------------------------------------------------------- */
COMMON_LOGGER_DETAIL("nim::Shop::Connect\n");
result = nn::nim::Shop::Connect(pAccountInfo, s_EcBufffer, EC_BUFFER_SIZE);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = CheckStandbyMode((*pAccountInfo)->isStandbyMode);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
PrintECAccountInfo(**pAccountInfo);
COMMON_LOGGER_DETAIL("\n");
@ -254,7 +254,7 @@ nn::Result ShopOperationInitialize()
{
COMMON_LOGGER_DETAIL("nim::InitializeForShop\n");
result = nn::nim::InitializeForShop();
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
s_IsNimShopInitialized = true;
}
@ -264,11 +264,11 @@ nn::Result ShopOperationInitialize()
COMMON_LOGGER_DETAIL("nim::Shop::SetApplication Id\n");
nn::nim::Shop::SetApplicationId();
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
COMMON_LOGGER_DETAIL("nim::Shop::SetTIN\n");
result = nn::nim::Shop::SetTin(CONSOLE_RESTORE_TIN);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
return result;
}
@ -277,14 +277,14 @@ nn::Result ShopOperationConnect()
{
nn::Result result;
result = ShopOperationInitialize();
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
/* -------------------------------------------------------------------
Connect
-------------------------------------------------------------------- */
ECAccountInfo* pAccountInfo;
result = ShopOperationConnect(&pAccountInfo);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
return result;
}
@ -298,7 +298,7 @@ nn::Result ShopOperationFinalize()
-------------------------------------------------------------------- */
COMMON_LOGGER_DETAIL("nim::FinalizeForShop\n");
result = nn::nim::FinalizeForShop();
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
s_IsNimShopInitialized = false;
return result;

View File

@ -101,7 +101,7 @@ nn::Result GetEntry(ES_NAMESPACE::ESTitleId titleId, EC_NAMESPACE::ECTitleCatalo
nn::Result GetTitleConfig(const ES_NAMESPACE::ESTitleId titleId, nn::nim::TitleConfig *titleConfig, s64* requiredSize)
{
EC_NAMESPACE::ECTitleCatalogEntry *entry;
NN_UTIL_RETURN_IF_FAILED(GetEntry(titleId, &entry));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(GetEntry(titleId, &entry));
titleConfig->titleId =titleId;
titleConfig->version=std::strtoull(GetAttribute(entry->attributes, entry->nAttributes, "Version"), NULL, 10);
@ -307,7 +307,7 @@ nn::Result WaitCancelled()
while(true)
{
// キャンセルがResultとして返ってくる / ダウンロード終了まで待つ
NN_UTIL_RETURN_IF_FAILED(nn::nim::Shop::GetProgress(&progress));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(nn::nim::Shop::GetProgress(&progress));
if(progress.lastResult==nn::nim::ResultCancelRequested() || progress.state==nn::nim::TITLE_STATE_FINISHED)
{
break;

View File

@ -759,7 +759,7 @@ nn::Result CalculateFileSizeRecursively(std::wstring currentDirectory, s64& file
NN_LOG("%s\n", common::GetCharStr(currentDirectory.c_str()));
result = dir.TryInitialize(currentDirectory.c_str());
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
for (;;)
{
@ -786,7 +786,7 @@ nn::Result CalculateFileSizeRecursively(std::wstring currentDirectory, s64& file
if (entry.attributes.isDirectory)
{
result = CalculateFileSizeRecursively(currentDirectory + std::wstring(entry.entryName) + std::wstring(L"/"), fileSize);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
}
// ファイルの場合
else

View File

@ -457,7 +457,7 @@ nn::Result SaveDataMover::Import(void* buf, size_t bufSize, bit32 id, u64* progr
const int MAX_PATH_LEN = 127;
char srcRoot[MAX_PATH_LEN + 1];
NN_UTIL_RETURN_IF_FAILED(nn::fs::CreateNewSharedExtSaveDataRawStorage(id));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(nn::fs::CreateNewSharedExtSaveDataRawStorage(id));
// 2. fs::CreateNewSharedExtSaveDataRawStorage を呼び
// 書き込み用の領域を作成します。

View File

@ -98,7 +98,7 @@ nn::Result SdReaderWriter::WriteBuf(nn::fs::FileStream& file, const wchar_t* pat
nn::Result result;
result = WriteBufCore(file, path, buf, size);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = file.TryFlush();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
@ -116,7 +116,7 @@ nn::Result SdReaderWriter::WriteBufWithCmac(const wchar_t* path, void* buf, size
nn::fs::FileStream file;
result = WriteBufCore(file, path, buf, size);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
bit8 sha256Hash[nn::crypto::Sha256Context::HASH_SIZE];
nn::crypto::CalculateSha256(sha256Hash, buf, size);
@ -173,7 +173,7 @@ nn::Result SdReaderWriter::ReadBuf(nn::fs::FileStream& file, const wchar_t* path
nn::Result result;
result = ReadBufCore(file, path, buf, size, totalSize);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
file.Finalize();
return result;
@ -187,7 +187,7 @@ nn::Result SdReaderWriter::ReadBufWithCmac(const wchar_t* path, void* buf, size_
NN_ASSERT(size > nn::crypto::AES_CMAC_MAC_SIZE);
result = ReadBufCore(file, path, buf, size, totalSize);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
file.Finalize();
// ハッシュが付加されていない

View File

@ -2,6 +2,7 @@
#include <nn/fs.h>
#include <cstdlib>
#include "configLoader.h"
#include "CommonLogger.h"
namespace common
{
@ -10,8 +11,8 @@ Result ConfigFileLoader::Initialize(const wchar_t* fileName, void* buffer, const
{
s64 fileSize;
FileInputStream fi;
NN_UTIL_RETURN_IF_FAILED(fi.TryInitialize(fileName));
NN_UTIL_RETURN_IF_FAILED(fi.TryGetSize(&fileSize));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(fi.TryInitialize(fileName));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(fi.TryGetSize(&fileSize));
// NULL終端ぶん読めるサイズを減らす
if (fileSize > bufferSize - sizeof(wchar_t))
@ -21,7 +22,7 @@ Result ConfigFileLoader::Initialize(const wchar_t* fileName, void* buffer, const
}
m_Buffer = static_cast<wchar_t*>(buffer);
NN_UTIL_RETURN_IF_FAILED(fi.TryRead(&m_UsedBufferSize, m_Buffer, fileSize));
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(fi.TryRead(&m_UsedBufferSize, m_Buffer, fileSize));
NN_LOG("config size = %d\n", m_UsedBufferSize);
return ParseData();
}

View File

@ -39,6 +39,7 @@ SOURCES[] =
../../common/configLoader.cpp
../../common/VersionDetect.cpp
include $(ROOT)/common/BuildSwitch.om
CTR_BANNER_SPEC = AutoBoot.bsf
ROMFS_ROOT = ../../common/romfiles
@ -56,7 +57,7 @@ LIBS += libnn_cfg \
INSTALL_SDK_TOOL = true
ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf
ROM_SPEC_FILE = $(TARGET_NAME).rsf
DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/private/RepairTool.desc
include $(ROOT_OMAKE)/modulerules

View File

@ -108,7 +108,11 @@ bool AddCmac(const wchar_t * from_path, void* buf, const size_t bufSize)
const wchar_t* CMAC_DIR = L"CmacAdded";
targetDirectory << from_path << CMAC_DIR;
result = nn::fs::TryDeleteDirectoryRecursively(targetDirectory.str().c_str());
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(result);
if(!(result <= nn::fs::ResultNotFound()))
{
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(result);
}
result = nn::fs::TryCreateDirectory(targetDirectory.str().c_str());
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(result);