From: John Hodge (sonata) Date: Mon, 13 May 2013 07:09:24 +0000 (+0800) Subject: Tools/DiskTook - Fixed absolute path support X-Git-Tag: rel0.15~484^2~2 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=4f1da7f5ad53f573458e259b4c733765632eae10;p=tpg%2Facess2.git Tools/DiskTook - Fixed absolute path support --- diff --git a/Tools/DiskTool/actions.c b/Tools/DiskTool/actions.c index 5cda5885..448cb34c 100644 --- a/Tools/DiskTool/actions.c +++ b/Tools/DiskTool/actions.c @@ -15,7 +15,7 @@ extern int NativeFS_Install(char **Arguments); extern int LVM_Cleanup(void); // === PROTOTYPES === -void DiskTool_Initialise(void) __attribute__((constructor(101))); +void DiskTool_Initialise(void) __attribute__((constructor(102))); void DiskTool_Cleanup(void); int DiskTool_int_TranslateOpen(const char *File, int Mode); int DiskTool_LVM_Read(void *Handle, Uint64 Block, size_t BlockCount, void *Dest); diff --git a/Tools/DiskTool/helpers.c b/Tools/DiskTool/helpers.c index f9e3bc4a..f2aa26d9 100644 --- a/Tools/DiskTool/helpers.c +++ b/Tools/DiskTool/helpers.c @@ -61,12 +61,15 @@ size_t DiskTool_int_TranslatePath(char *Buffer, const char *Path) } len = strlen("/Native"); - len += strlen( gsWorkingDirectory ) + 1; + if( Path[0] != '/' ) + len += strlen( gsWorkingDirectory ) + 1; len += strlen(Path); if( Buffer ) { strcpy(Buffer, "/Native"); - strcat(Buffer, gsWorkingDirectory); - strcat(Buffer, "/"); + if( Path[0] != '/' ) { + strcat(Buffer, gsWorkingDirectory); + strcat(Buffer, "/"); + } strcat(Buffer, Path); } } diff --git a/Tools/nativelib/threads.c b/Tools/nativelib/threads.c index aec7076e..9a4bfdfb 100644 --- a/Tools/nativelib/threads.c +++ b/Tools/nativelib/threads.c @@ -22,8 +22,10 @@ tShortSpinlock glThreadListLock; // === CODE === void Threads_int_Init(void) { - lpThreads_This = Threads_int_CreateTCB(NULL); - Threads_SetName("ThreadZero"); + if( !lpThreads_This ) { + lpThreads_This = Threads_int_CreateTCB(NULL); + Threads_SetName("ThreadZero"); + } } tThread *Proc_GetCurThread(void)