]> icculus.org git repositories - taylor/freespace2.git/blob - src/freespace2/unixmain.cpp
Userdir patch from Taylor Richards
[taylor/freespace2.git] / src / freespace2 / unixmain.cpp
1 #include <sys/stat.h>
2
3 #include "pstypes.h"
4 #include "osregistry.h"
5 #include "osapi.h"
6
7 int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int nCmdShow);
8 void vm_dump();
9
10 int main(int argc, char **argv)
11 {
12         char userdir[MAX_PATH];
13         
14         // create user game directory
15         snprintf(userdir, sizeof(userdir), "%s/%s", detect_home(), Osreg_user_dir);
16         _mkdir(userdir, 0700);  
17         
18         char *argptr = NULL;
19         int i;
20         int len = 1;
21         
22         argptr = (char *)malloc(1);
23         *argptr = 0;
24         
25         for (i = 1; i < argc; i++) {
26                 int oldlen = len-1;
27                 
28                 len += strlen(argv[i])+1;
29                 
30                 argptr = (char *)realloc(argptr, len);
31                 if (argptr == NULL) {
32                         fprintf(stderr, "ERROR: out of memory in main!\n");
33                         exit(1);
34                 }
35                 
36                 strcpy(argptr+oldlen, argv[i]);
37                 strcat(argptr, " ");
38         }
39          
40         int retr = WinMain(1, 0, argptr, 0);
41
42         free(argptr);
43                 
44         vm_dump();
45         
46         return retr;    
47 }