]> icculus.org git repositories - taylor/freespace2.git/blob - src/freespace2/unixmain.cpp
const-char warning fixes
[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 #undef malloc
8 #undef free
9
10 int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int nCmdShow);
11
12 #if defined(__APPLE__) && !defined(MACOSX)
13 char full_path[1024];
14 #endif
15
16 void vm_dump();
17
18 int main(int argc, char **argv)
19 {
20         char userdir[MAX_PATH];
21
22 #if defined(__APPLE__) && !defined(MACOSX)
23         strcpy( full_path, *argv );
24 #endif
25
26         // create user game directory
27         snprintf(userdir, MAX_PATH, "%s/%s/", detect_home(), Osreg_user_dir);
28         _mkdir(userdir);        
29         
30         char *argptr = NULL;
31         int i;
32         int len = 1;
33         
34         argptr = (char *)malloc(1);
35         *argptr = 0;
36         
37         for (i = 1; i < argc; i++) {
38                 int oldlen = len-1;
39                 
40                 len += strlen(argv[i])+1;
41                 
42                 argptr = (char *)realloc(argptr, len);
43                 if (argptr == NULL) {
44                         fprintf(stderr, "ERROR: out of memory in main!\n");
45                         exit(1);
46                 }
47                 
48                 strcpy(argptr+oldlen, argv[i]);
49                 strcat(argptr, " ");
50         }
51          
52         int retr = WinMain(1, 0, argptr, 0);
53
54         free(argptr);
55                 
56         vm_dump();
57         
58         return retr;    
59 }