AcessNative - Fixing crashes
[tpg/acess2.git] / AcessNative / ld-acess_src / main.c
index cbe0ac1..0c9b743 100644 (file)
@@ -7,12 +7,17 @@
 #include <string.h>
 
 // === IMPORTS ===
+extern int     gSocket;
 extern int     giSyscall_ClientID;
 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)
 {
@@ -20,10 +25,14 @@ int main(int argc, char *argv[], char **envp)
         int    appArgc;
        char    **appArgv;
        char    *appPath = NULL;
-        int    (*appMain)(int, char *[], char **) __attribute__((cdecl));
+        int    (*appMain)(int, char *[], char **);
        void    *base;
         int    rv;
+
+       gEnvP = envp;
        
+       Request_Preinit();
+
 //      int    syscall_handle = -1;
        
        for( i = 1; i < argc; i ++ )
@@ -32,6 +41,11 @@ int main(int argc, char *argv[], char **envp)
                        giSyscall_ClientID = atoi(argv[++i]);
                        continue ;
                }
+
+               if(strcmp(argv[i], "--socket") == 0) {
+                       gSocket = atoi(argv[++i]);
+                       continue ;
+               }
                
                if(strcmp(argv[i], "--binary") == 0) {
                        appPath = argv[++i];
@@ -74,7 +88,7 @@ int main(int argc, char *argv[], char **envp)
        if( !base )     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");

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