Fixed Segfault if execve fails, fixed errors in LibC pertaining to stdin,... not...
[tpg/acess2.git] / Usermode / Libraries / libc.so_src / stub.c
index acb3653..a10d9d1 100644 (file)
@@ -5,6 +5,9 @@
 \r
 extern char **_envp;\r
 extern struct sFILE    _iob[];\r
+extern struct sFILE    *stdin;\r
+extern struct sFILE    *stdout;\r
+extern struct sFILE    *stderr;\r
 \r
 /**\r
  * \fn int SoMain()\r
@@ -20,9 +23,12 @@ int SoMain(unsigned int BaseAddress, int argc, char **argv, char **envp)
        _envp = envp;\r
        \r
        // Init FileIO Pointers\r
-       _iob[0].FD = 0; _iob[0].Flags = FILE_FLAG_MODE_READ;\r
-       _iob[1].FD = 1; _iob[1].Flags = FILE_FLAG_MODE_WRITE;\r
-       _iob[2].FD = 2; _iob[2].Flags = FILE_FLAG_MODE_WRITE;\r
+       stdin = &_iob[0];\r
+       stdin->FD = 0;  stdin->Flags = FILE_FLAG_MODE_READ;\r
+       stdout = &_iob[1];\r
+       stdout->FD = 1; stdout->Flags = FILE_FLAG_MODE_WRITE;\r
+       stderr = &_iob[2];\r
+       stderr->FD = 2; stderr->Flags = FILE_FLAG_MODE_WRITE;\r
        \r
        return 1;\r
 }\r

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