mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
SDカードへの書き出しにLFをCRLFに置換
エラー文字列の一部がメモリに乗っていなかったのを修正 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2394 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
a02a01e2ac
commit
b3d17a2938
@ -57,7 +57,7 @@ Property
|
|||||||
#
|
#
|
||||||
# TITLE NAME: Your product name within 12bytes
|
# TITLE NAME: Your product name within 12bytes
|
||||||
#
|
#
|
||||||
TitleName "DispInfo"
|
TitleName "FatalChecker"
|
||||||
|
|
||||||
#
|
#
|
||||||
# MAKER CODE: Your company ID# in 2 ascii words
|
# MAKER CODE: Your company ID# in 2 ascii words
|
||||||
@ -95,7 +95,7 @@ Property
|
|||||||
# BANNER FILE: generated from Banner Spec File
|
# BANNER FILE: generated from Banner Spec File
|
||||||
#
|
#
|
||||||
#BannerFile ./etc/myGameBanner.bnr
|
#BannerFile ./etc/myGameBanner.bnr
|
||||||
BannerFile $(TWLSDK_ROOT)/include/twl/specfiles/default.bnr
|
BannerFile ../banner/banner.bnr
|
||||||
|
|
||||||
#
|
#
|
||||||
# Permit LandingNormalJump: for TWL "ApplicationJump" function [TRUE/FALSE]
|
# Permit LandingNormalJump: for TWL "ApplicationJump" function [TRUE/FALSE]
|
||||||
@ -216,7 +216,7 @@ AppendProperty
|
|||||||
#
|
#
|
||||||
# GameCode for TitleID : Your GameCode in 4 ascii words
|
# GameCode for TitleID : Your GameCode in 4 ascii words
|
||||||
#
|
#
|
||||||
GameCode ABCZ
|
GameCode 0G6A
|
||||||
|
|
||||||
#
|
#
|
||||||
# Public save data size: [0K/16K/32K/64K/128K/256K/512K/1M/2M/4M]
|
# Public save data size: [0K/16K/32K/64K/128K/256K/512K/1M/2M/4M]
|
||||||
|
|||||||
@ -21,6 +21,8 @@
|
|||||||
#include "graphics.h"
|
#include "graphics.h"
|
||||||
#include "keypad.h"
|
#include "keypad.h"
|
||||||
|
|
||||||
|
#define BUFSIZE 256
|
||||||
|
|
||||||
#define FATAL_ERROR_MAX 49
|
#define FATAL_ERROR_MAX 49
|
||||||
#define NUM_ENTRY_PER_PAGE 5
|
#define NUM_ENTRY_PER_PAGE 5
|
||||||
#define NUM_LINE_PER_ENTRY 4
|
#define NUM_LINE_PER_ENTRY 4
|
||||||
@ -58,6 +60,7 @@ static void drawMessage( void );
|
|||||||
static void kamiFontPrintfWrap( s16 x, s16 y, u8 color, char *fmt, ... );
|
static void kamiFontPrintfWrap( s16 x, s16 y, u8 color, char *fmt, ... );
|
||||||
static s16 kamiFontPrintfWrapSub( s16 x, s16 y, u8 color, char *str );
|
static s16 kamiFontPrintfWrapSub( s16 x, s16 y, u8 color, char *str );
|
||||||
static BOOL copyLogToSD( void );
|
static BOOL copyLogToSD( void );
|
||||||
|
int convertLF( char *dst, char *src );
|
||||||
static void drawMenu( void );
|
static void drawMenu( void );
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: TwlMain
|
Name: TwlMain
|
||||||
@ -356,17 +359,17 @@ static void removeLC( char *dst, const char *src )
|
|||||||
static void kamiFontPrintfWrap( s16 x, s16 y, u8 color, char *fmt, ... )
|
static void kamiFontPrintfWrap( s16 x, s16 y, u8 color, char *fmt, ... )
|
||||||
{
|
{
|
||||||
va_list vlist;
|
va_list vlist;
|
||||||
char temp[256 + 2];
|
char temp[BUFSIZE + 1];
|
||||||
char *head, *tail;
|
char *head, *tail;
|
||||||
|
|
||||||
va_start(vlist, fmt);
|
va_start(vlist, fmt);
|
||||||
(void)vsnprintf(temp, 256, fmt, vlist);
|
(void)vsnprintf(temp, BUFSIZE+1, fmt, vlist);
|
||||||
va_end(vlist);
|
va_end(vlist);
|
||||||
|
|
||||||
head = temp;
|
head = temp;
|
||||||
|
|
||||||
// 終端追加
|
// 終端追加
|
||||||
temp[256] = '\0';
|
temp[BUFSIZE] = '\0';
|
||||||
|
|
||||||
// 自前でctok的な事をして改行を別々に出力する
|
// 自前でctok的な事をして改行を別々に出力する
|
||||||
tail = STD_StrChr( temp, '\n' );
|
tail = STD_StrChr( temp, '\n' );
|
||||||
@ -424,7 +427,9 @@ static BOOL deleteLogfile( void )
|
|||||||
static BOOL copyLogToSD( void )
|
static BOOL copyLogToSD( void )
|
||||||
{
|
{
|
||||||
FSFile src, dst;
|
FSFile src, dst;
|
||||||
char buf[256 + 1];
|
// 最悪で読み込んだサイズの倍の文字列になる可能性がある
|
||||||
|
char buf[BUFSIZE + 1];
|
||||||
|
char winbuf[BUFSIZE*2 +1];
|
||||||
s32 readSize;
|
s32 readSize;
|
||||||
|
|
||||||
buf[256] = '\0';
|
buf[256] = '\0';
|
||||||
@ -479,7 +484,10 @@ static BOOL copyLogToSD( void )
|
|||||||
|
|
||||||
while( ( readSize = FS_ReadFile( &src, buf, 256 )) > 0 )
|
while( ( readSize = FS_ReadFile( &src, buf, 256 )) > 0 )
|
||||||
{
|
{
|
||||||
if( FS_WriteFile( &dst, buf, readSize ) < 0 )
|
int size;
|
||||||
|
size = convertLF( winbuf, buf );
|
||||||
|
|
||||||
|
if( FS_WriteFile( &dst, winbuf, size ) < 0 )
|
||||||
{
|
{
|
||||||
kamiFontPrintfMain( 0, RESULT_LINE_OFFSET, CONSOLE_ORANGE, "Copy Failed!") ;
|
kamiFontPrintfMain( 0, RESULT_LINE_OFFSET, CONSOLE_ORANGE, "Copy Failed!") ;
|
||||||
kamiFontPrintfMain( 0, RESULT_LINE_OFFSET+1, CONSOLE_ORANGE, "func: FS_WriteFile" );
|
kamiFontPrintfMain( 0, RESULT_LINE_OFFSET+1, CONSOLE_ORANGE, "func: FS_WriteFile" );
|
||||||
@ -513,6 +521,32 @@ static void drawMenu( void )
|
|||||||
kamiFontPrintfMain( 0, (s16)(line++), CONSOLE_ORANGE, "+-----------------------------+");
|
kamiFontPrintfMain( 0, (s16)(line++), CONSOLE_ORANGE, "+-----------------------------+");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LFをLFCRに置換して書き戻す
|
||||||
|
// dstは最悪時でsrcの二倍の領域が必要
|
||||||
|
int convertLF( char *dst, char *src )
|
||||||
|
{
|
||||||
|
char *head = src, *tail;
|
||||||
|
int writesize = 0;
|
||||||
|
|
||||||
|
tail = STD_StrChr( src, '\n' );
|
||||||
|
|
||||||
|
while( tail != NULL )
|
||||||
|
{
|
||||||
|
*tail = '\0';
|
||||||
|
writesize += STD_StrLCpy( &dst[writesize], head,BUFSIZE );
|
||||||
|
dst[writesize] = 0x0d;
|
||||||
|
dst[writesize+1] = 0x0a;
|
||||||
|
writesize += 2;
|
||||||
|
|
||||||
|
head = tail + 1;
|
||||||
|
tail = STD_StrChr( head, '\n' );
|
||||||
|
}
|
||||||
|
|
||||||
|
writesize += STD_StrLCpy( &dst[writesize], head, BUFSIZE );
|
||||||
|
|
||||||
|
return writesize;
|
||||||
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: VBlankIntr
|
Name: VBlankIntr
|
||||||
|
|
||||||
@ -554,53 +588,53 @@ static void InitAllocation(void)
|
|||||||
|
|
||||||
|
|
||||||
static char *s_strError[ FATAL_ERROR_MAX ] = {
|
static char *s_strError[ FATAL_ERROR_MAX ] = {
|
||||||
"FATAL_ERROR_UNDEFINED",
|
"UNDEFINED",
|
||||||
"FATAL_ERROR_NAND",
|
"NAND",
|
||||||
"FATAL_ERROR_HWINFO_NORMAL",
|
"HWINFO_NORMAL",
|
||||||
"FATAL_ERROR_HWINFO_SECURE",
|
"HWINFO_SECURE",
|
||||||
"FATAL_ERROR_TWLSETTINGS",
|
"TWLSETTINGS",
|
||||||
"FATAL_ERROR_SHARED_FONT",
|
"SHARED_FONT",
|
||||||
"FATAL_ERROR_WLANFIRM_AUTH",
|
"WLANFIRM_AUTH",
|
||||||
"FATAL_ERROR_WLANFIRM_LOAD",
|
"WLANFIRM_LOAD",
|
||||||
"FATAL_ERROR_TITLE_LOAD_FAILED",
|
"TITLE_LOAD_FAILED",
|
||||||
"FATAL_ERROR_TITLE_POINTER_ERROR",
|
"TITLE_POINTER_ERROR",
|
||||||
"FATAL_ERROR_AUTHENTICATE_FAILED",
|
"AUTHENTICATE_FAILED",
|
||||||
"FATAL_ERROR_ENTRY_ADDRESS_ERROR",
|
"ENTRY_ADDRESS_ERROR",
|
||||||
"FATAL_ERROR_TITLE_BOOTTYPE_ERROR",
|
"TITLE_BOOTTYPE_ERROR",
|
||||||
"FATAL_ERROR_SIGN_DECRYPTION_FAILED",
|
"SIGN_DECRYPTION_FAILED",
|
||||||
"FATAL_ERROR_SIGN_COMPARE_FAILED",
|
"SIGN_COMPARE_FAILED",
|
||||||
"FATAL_ERROR_HEADER_HASH_CALC_FAILED",
|
"HEADER_HASH_CALC_FAILED",
|
||||||
"FATAL_ERROR_TITLEID_COMPARE_FAILED",
|
"TITLEID_COMPARE_FAILED",
|
||||||
"FATAL_ERROR_VALID_SIGN_FLAG_OFF",
|
"VALID_SIGN_FLAG_OFF",
|
||||||
"FATAL_ERROR_CHECK_TITLE_LAUNCH_RIGHTS_FAILED",
|
"CHECK_TITLE_LAUNCH_RIGHTS_FAILED",
|
||||||
"FATAL_ERROR_MODULE_HASH_CHECK_FAILED",
|
"MODULE_HASH_CHECK_FAILED",
|
||||||
"FATAL_ERROR_MODULE_HASH_CALC_FAILED",
|
"MODULE_HASH_CALC_FAILED",
|
||||||
"FATAL_ERROR_MEDIA_CHECK_FAILED",
|
"MEDIA_CHECK_FAILED",
|
||||||
"FATAL_ERROR_DL_MAGICCODE_CHECK_FAILED",
|
"DL_MAGICCODE_CHECK_FAILED",
|
||||||
"FATAL_ERROR_DL_SIGN_DECRYPTION_FAILED",
|
"DL_SIGN_DECRYPTION_FAILED",
|
||||||
"FATAL_ERROR_DL_HASH_CALC_FAILED",
|
"DL_HASH_CALC_FAILED",
|
||||||
"FATAL_ERROR_DL_SIGN_COMPARE_FAILED",
|
"DL_SIGN_COMPARE_FAILED",
|
||||||
"FATAL_ERROR_WHITELIST_INITDB_FAILED",
|
"WHITELIST_INITDB_FAILED",
|
||||||
"FATAL_ERROR_WHITELIST_NOTFOUND",
|
"WHITELIST_NOTFOUND",
|
||||||
"FATAL_ERROR_DHT_PHASE1_FAILED",
|
"DHT_PHASE1_FAILED",
|
||||||
"FATAL_ERROR_DHT_PHASE2_FAILED",
|
"DHT_PHASE2_FAILED",
|
||||||
"FATAL_ERROR_LANDING_TMP_JUMP_FLAG_OFF",
|
"LANDING_TMP_JUMP_FLAG_OFF",
|
||||||
"FATAL_ERROR_TWL_BOOTTYPE_UNKNOWN",
|
"TWL_BOOTTYPE_UNKNOWN",
|
||||||
"FATAL_ERROR_NTR_BOOTTYPE_UNKNOWN",
|
"NTR_BOOTTYPE_UNKNOWN",
|
||||||
"FATAL_ERROR_PLATFORM_UNKNOWN",
|
"PLATFORM_UNKNOWN",
|
||||||
"FATAL_ERROR_LOAD_UNFINISHED",
|
"LOAD_UNFINISHED",
|
||||||
"FATAL_ERROR_LOAD_OPENFILE_FAILED",
|
"LOAD_OPENFILE_FAILED",
|
||||||
"FATAL_ERROR_LOAD_MEMALLOC_FAILED",
|
"LOAD_MEMALLOC_FAILED",
|
||||||
"FATAL_ERROR_LOAD_SEEKFILE_FAILED",
|
"LOAD_SEEKFILE_FAILED",
|
||||||
"FATAL_ERROR_LOAD_READHEADER_FAILED",
|
"LOAD_READHEADER_FAILED",
|
||||||
"FATAL_ERROR_LOAD_LOGOCRC_ERROR = 39",
|
"LOAD_LOGOCRC_ERROR = 39",
|
||||||
"FATAL_ERROR_LOAD_READDLSIGN_FAILED",
|
"LOAD_READDLSIGN_FAILED",
|
||||||
"FATAL_ERROR_LOAD_RELOCATEINFO_FAILED",
|
"LOAD_RELOCATEINFO_FAILED",
|
||||||
"FATAL_ERROR_LOAD_READMODULE_FAILED",
|
"LOAD_READMODULE_FAILED",
|
||||||
"FATAL_ERROR_NINTENDO_LOGO_CHECK_FAILED",
|
"NINTENDO_LOGO_CHECK_FAILED",
|
||||||
"FATAL_ERROR_SYSMENU_VERSION",
|
"SYSMENU_VERSION",
|
||||||
"FATAL_ERROR_DHT_PHASE1_CALC_FAILED",
|
"DHT_PHASE1_CALC_FAILED",
|
||||||
"FATAL_ERROR_LOAD_UNKNOWN_BOOTTYPE",
|
"LOAD_UNKNOWN_BOOTTYPE",
|
||||||
"FATAL_ERROR_LOAD_AUTH_HEADER_FAILED",
|
"LOAD_AUTH_HEADER_FAILED",
|
||||||
"FATAL_ERROR_LOAD_NEVER_STARTED",
|
"LOAD_NEVER_STARTED"
|
||||||
};
|
};
|
||||||
@ -18,9 +18,9 @@
|
|||||||
|
|
||||||
include $(TWLSDK_ROOT)/build/buildtools/commondefs
|
include $(TWLSDK_ROOT)/build/buildtools/commondefs
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
SUBDIRS = ARM9
|
SUBDIRS = banner ARM9
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user