Externals - pkgconfig (compiles?)
[tpg/acess2.git] / AcessNative / ld-acess_src / main.c
index ae13021..8f24db8 100644 (file)
@@ -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,10 +90,13 @@ 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 %p ", giSyscall_ClientID, appArgc, appArgv);
+       printf("[DEBUG %i] %i ", giSyscall_ClientID, appArgc);
        for(i = 0; i < appArgc; i ++)
                printf("\"%s\" ", appArgv[i]);
        printf("\n");
@@ -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);

UCC git Repository :: git.ucc.asn.au