diff options
Diffstat (limited to 'src/engine/server.cpp')
| -rw-r--r-- | src/engine/server.cpp | 50 |
1 files changed, 2 insertions, 48 deletions
diff --git a/src/engine/server.cpp b/src/engine/server.cpp index 29761e1..c23e4fa 100644 --- a/src/engine/server.cpp +++ b/src/engine/server.cpp @@ -5,29 +5,6 @@ #define LOGSTRLEN 512 -static FILE *logfile = NULL; - -void closelogfile() { - if(logfile) { - fclose(logfile); - logfile = NULL; - } -} - -FILE *getlogfile() { - return logfile ? logfile : stdout; -} - -void setlogfile(const char *fname) { - closelogfile(); - if(fname && fname[0]) { - fname = findfile(fname, "w"); - if(fname) logfile = fopen(fname, "w"); - } - FILE *f = getlogfile(); - if(f) setvbuf(f, NULL, _IOLBF, BUFSIZ); -} - void logoutf(const char *fmt, ...) { va_list args; va_start(args, fmt); @@ -35,7 +12,6 @@ void logoutf(const char *fmt, ...) { va_end(args); } - static void writelog(FILE *file, const char *buf) { static uchar ubuf[512]; size_t len = strlen(buf), carry = 0; @@ -57,9 +33,8 @@ void fatal(const char *fmt, ...) { void cleanupserver(); cleanupserver(); defvformatstring(msg,fmt,fmt); - if(logfile) logoutf("%s", msg); + logoutf("%s", msg); fprintf(stderr, "server error: %s\n", msg); - closelogfile(); exit(EXIT_FAILURE); } @@ -596,7 +571,7 @@ void localconnect() { #endif void logoutfv(const char *fmt, va_list args) { - FILE *f = getlogfile(); + FILE *f = stdout; if(f) writelogv(f, fmt, args); } @@ -686,32 +661,11 @@ void stoplistenserver() { COMMAND(stoplistenserver, ""); #endif -bool serveroption(char *opt) { - switch(opt[1]) { - case 'u': setvar("serveruprate", atoi(opt+2)); return true; - case 'c': setvar("maxclients", atoi(opt+2)); return true; - case 'i': setsvar("serverip", opt+2); return true; - case 'j': setvar("serverport", atoi(opt+2)); return true; - case 'm': setsvar("mastername", opt+2); setvar("updatemaster", mastername[0] ? 1 : 0); return true; -#ifdef STANDALONE - case 'q': logoutf("Using home directory: %s", opt); sethomedir(opt+2); return true; - case 'k': logoutf("Adding package directory: %s", opt); addpackagedir(opt+2); return true; - case 'g': logoutf("Setting log file: %s", opt); setlogfile(opt+2); return true; -#endif - default: return false; - } -} - -vector<const char *> gameargs; - #ifdef STANDALONE int main(int argc, char **argv) { - setlogfile(NULL); if(enet_initialize()<0) fatal("Unable to initialise network module"); atexit(enet_deinitialize); enet_time_set(0); - for(int i = 1; i<argc; i++) if(argv[i][0]!='-' || !serveroption(argv[i])) gameargs.add(argv[i]); - game::parseoptions(gameargs); initserver(true, true); return EXIT_SUCCESS; } |
