(NandInitializerRed) SoftFreeBoxCountが0の場合にTADを上書きインポートできないバグを修正。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1619 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
kamikawa 2008-06-12 06:44:30 +00:00
parent fbbb9cdc11
commit b021a455ee

View File

@ -574,6 +574,7 @@ static BOOL ImportTad(char* file_name, TadWriteOption option)
OSThread thread;
BOOL ret = FALSE;
s32 nam_result;
BOOL overwrite = FALSE;
// フルパスを作成
MakeFullPathForSD(file_name, full_path);
@ -590,6 +591,8 @@ static BOOL ImportTad(char* file_name, TadWriteOption option)
// NANDに既にインストールされているかどうか確認する
if (tadInfo.titleInfo.titleId == titleInfoTmp.titleId)
{
overwrite = TRUE;
switch (option)
{
case TAD_WRITE_OPTION_NONEXISTENT:
@ -625,6 +628,9 @@ static BOOL ImportTad(char* file_name, TadWriteOption option)
// NOT_LAUNCH_FLAG または DATA_ONLY_FLAG が立っていないタイトルの場合
// freeSoftBoxCountに空きがなければインポートしない
if (!(tadInfo.titleInfo.titleId & (TITLE_ID_NOT_LAUNCH_FLAG_MASK | TITLE_ID_DATA_ONLY_FLAG_MASK)))
{
// 上書きインポートの場合はfreeSoftBoxCountはチェックしない
if (!overwrite)
{
u8 installed, free;
if (!NAMUT_GetSoftBoxCount( &installed, &free ))
@ -638,6 +644,7 @@ static BOOL ImportTad(char* file_name, TadWriteOption option)
return FALSE;
}
}
}
// ESの仕様で古い e-ticket があると新しい e-ticket を使ったインポートができない
// 暫定対応として該当タイトルを完全削除してからインポートする