From 81196b414cde60df02fa550bb8a9897880f12fac Mon Sep 17 00:00:00 2001 From: kamikawa Date: Fri, 16 May 2008 09:13:45 +0000 Subject: [PATCH] =?UTF-8?q?NAMUTi=5FDestroySubBanner=20=E9=96=A2=E6=95=B0?= =?UTF-8?q?=E3=82=92=E5=AF=BE=E8=B1=A1=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E3=81=8C=E5=AD=98=E5=9C=A8=E3=81=97=E3=81=AA=E3=81=8B=E3=81=A3?= =?UTF-8?q?=E3=81=9F=E5=A0=B4=E5=90=88=E3=81=A7=E3=82=82TRUE=E3=82=92?= =?UTF-8?q?=E8=BF=94=E3=81=99=E6=98=94=E3=81=AE=E6=8C=99=E5=8B=95=E3=81=AB?= =?UTF-8?q?=E6=88=BB=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1381 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/namut/ARM9/src/namut.c | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/build/libraries_sysmenu/namut/ARM9/src/namut.c b/build/libraries_sysmenu/namut/ARM9/src/namut.c index 5202e175..a101caf1 100644 --- a/build/libraries_sysmenu/namut/ARM9/src/namut.c +++ b/build/libraries_sysmenu/namut/ARM9/src/namut.c @@ -442,7 +442,8 @@ BOOL NAMUTi_ClearSavedataPrivate(const char* path, u64 titleID) Name: NAMUTi_DestroySubBanner Description: 指定したサブバナーのCRC破壊を試みます。 - (コードはOS_DeleteSubBannerFileのパクリ) + 指定したサブバナーが存在しない可能性もありますが + その場合でもTRUEを返します。(コードはOS_DeleteSubBannerFileのパクリ) Arguments: None @@ -455,9 +456,17 @@ BOOL NAMUTi_DestroySubBanner(const char* path) FSFile file[1]; BOOL ret = FALSE; + // R属性でファイルをオープンを試みてファイルの存在有無を確認する + // 存在しない場合はTRUEで返す + FS_InitFile(file); + if ( !FS_OpenFileEx(file, path, FS_FILEMODE_R) ) + { + return TRUE; + } + if ( !spAllocFunc || !spFreeFunc ) { - OS_TPrintf("NAMUT_Init should be called previously."); + OS_Warning("NAMUT_Init should be called previously."); return FALSE; } @@ -472,7 +481,7 @@ BOOL NAMUTi_DestroySubBanner(const char* path) FS_InitFile(file); if ( !FS_OpenFileEx(file, path, FS_FILEMODE_RWL) ) { - OS_TPrintf("OS_DeleteSubBannerFile : banner file open failed.\n"); + OS_Warning("banner file open failed.\n"); spFreeFunc( pBanner ); return FALSE; } @@ -487,15 +496,15 @@ BOOL NAMUTi_DestroySubBanner(const char* path) FS_SeekFile( file, 0, FS_SEEK_SET ); if( sizeof(BannerHeader) == FS_WriteFile(file, &pBanner->h, sizeof(BannerHeader)) ) { - OS_TPrintf("OS_DeleteSubBannerFile : banner file write succeed.\n"); + OS_Warning("banner file write succeed.\n"); ret = TRUE; }else { - OS_TPrintf("OS_DeleteSubBannerFile : banner file write failed.\n"); + OS_Warning("banner file write failed.\n"); } }else { - OS_TPrintf("OS_DeleteSubBannerFile : banner file read failed.\n"); + OS_Warning("banner file read failed.\n"); } FS_CloseFile(file); @@ -670,7 +679,7 @@ static void NAMUTi_DrawNandTree(s32 depth, const char *path) // 深さ制限 if (depth > DIRECTORY_DEPTH_MAX) { - OS_TPrintf("Fail! Depth is too deep.\n"); + OS_Warning("Fail! Depth is too deep.\n"); return; } @@ -682,7 +691,7 @@ static void NAMUTi_DrawNandTree(s32 depth, const char *path) // 引数で指定されたディレクトリを開く if (!FS_OpenDirectory(&dir, sCurrentFullPath, (FS_FILEMODE_R))) { - OS_TPrintf("%d Fail! FS_OpenDirectory(%s)\n", __LINE__, sCurrentFullPath); + OS_Warning("%d Fail! FS_OpenDirectory(%s)\n", __LINE__, sCurrentFullPath); return; }