X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Fld-acess_src%2Fmain.c;h=8f24db8ace48f759c3368d000eef4e348e8f4e8b;hb=3c283c4831c40c14d308a54cefb997832a860bca;hp=80c5b7ad8d6a2449549e94865f2bc8b2b2f77757;hpb=a41f3e5efdf853726d078dc03550de40e9d63bdd;p=tpg%2Facess2.git diff --git a/AcessNative/ld-acess_src/main.c b/AcessNative/ld-acess_src/main.c index 80c5b7ad..8f24db8a 100644 --- a/AcessNative/ld-acess_src/main.c +++ b/AcessNative/ld-acess_src/main.c @@ -9,12 +9,16 @@ // === IMPORTS === extern int gSocket; extern int giSyscall_ClientID; +extern int gbSyscallDebugEnabled; extern void acess__exit(int Status); extern void Request_Preinit(void); // === PROTOTYPES === void CallUser(void *Entry, int argc, char *argv[], char **envp) __attribute__((noreturn)); +// === GLOBALS === +char **gEnvP; + // === CODE === int main(int argc, char *argv[], char **envp) { @@ -25,6 +29,8 @@ int main(int argc, char *argv[], char **envp) int (*appMain)(int, char *[], char **); void *base; int rv; + + gEnvP = envp; Request_Preinit(); @@ -48,12 +54,16 @@ int main(int argc, char *argv[], char **envp) } if(strcmp(argv[i], "--open") == 0) { - if( acess_open(argv[++i], 6) == -1 ) { // Read/Write + if( acess__SysOpen(argv[++i], 6) == -1 ) { // Read/Write fprintf(stderr, "Unable to open '%s'\n", argv[i]); exit(1); } continue ; } + if( strcmp(argv[i], "--trace") == 0 ) { + gbSyscallDebugEnabled = 1; + continue ; + } if( argv[i][0] != '-' ) break; } @@ -80,7 +90,10 @@ int main(int argc, char *argv[], char **envp) base = Binary_Load(appPath, (uintptr_t*)&appMain); printf("[DEBUG %i] base = %p\n", giSyscall_ClientID, base); - if( !base ) return 127; + if( !base ) { + *((char*)NULL) = 0; + return 127; + } printf("==============================\n"); printf("[DEBUG %i] %i ", giSyscall_ClientID, appArgc); @@ -132,7 +145,8 @@ void Notice(const char *Format, ...) void Debug(const char *Format, ...) { va_list args; - printf("[DEBUG %i] ", giSyscall_ClientID); + printf("[DEBUG "); + printf("%2i] ", giSyscall_ClientID); va_start(args, Format); vprintf(Format, args); va_end(args);