(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; OSThread thread;
BOOL ret = FALSE; BOOL ret = FALSE;
s32 nam_result; s32 nam_result;
BOOL overwrite = FALSE;
// フルパスを作成 // フルパスを作成
MakeFullPathForSD(file_name, full_path); MakeFullPathForSD(file_name, full_path);
@ -585,11 +586,13 @@ static BOOL ImportTad(char* file_name, TadWriteOption option)
} }
// NANDの情報を取得 // NANDの情報を取得
if ( option != TAD_WRITE_OPTION_OVERWRITE && NAM_ReadTitleInfo(&titleInfoTmp, tadInfo.titleInfo.titleId) == NAM_OK) if ( option != TAD_WRITE_OPTION_OVERWRITE && NAM_ReadTitleInfo(&titleInfoTmp, tadInfo.titleInfo.titleId) == NAM_OK )
{ {
// NANDに既にインストールされているかどうか確認する // NANDに既にインストールされているかどうか確認する
if (tadInfo.titleInfo.titleId == titleInfoTmp.titleId) if (tadInfo.titleInfo.titleId == titleInfoTmp.titleId)
{ {
overwrite = TRUE;
switch (option) switch (option)
{ {
case TAD_WRITE_OPTION_NONEXISTENT: case TAD_WRITE_OPTION_NONEXISTENT:
@ -626,16 +629,20 @@ static BOOL ImportTad(char* file_name, TadWriteOption option)
// freeSoftBoxCountに空きがなければインポートしない // freeSoftBoxCountに空きがなければインポートしない
if (!(tadInfo.titleInfo.titleId & (TITLE_ID_NOT_LAUNCH_FLAG_MASK | TITLE_ID_DATA_ONLY_FLAG_MASK))) if (!(tadInfo.titleInfo.titleId & (TITLE_ID_NOT_LAUNCH_FLAG_MASK | TITLE_ID_DATA_ONLY_FLAG_MASK)))
{ {
u8 installed, free; // 上書きインポートの場合はfreeSoftBoxCountはチェックしない
if (!NAMUT_GetSoftBoxCount( &installed, &free )) if (!overwrite)
{ {
return FALSE; u8 installed, free;
} if (!NAMUT_GetSoftBoxCount( &installed, &free ))
{
return FALSE;
}
if (free == 0) if (free == 0)
{ {
kamiFontPrintfConsole(1, "NAND FreeSoftBoxCount == 0"); kamiFontPrintfConsole(1, "NAND FreeSoftBoxCount == 0");
return FALSE; return FALSE;
}
} }
} }