#include <stdlib.h>
#include <stdio.h>
+#include <string.h>
#include <time.h>
#include <sys/time.h>
#include <signal.h>
void initseed();
void init_logfile();
+void fini_logfile();
void siginthandler(int sig);
void sigusr1handler(int sig);
void sigsegvhandler(int sig);
static void (*oldsegv)(int);
int main(int argc, char **argv) {
+ char *config = "newserv.conf";
+
initseed();
inithooks();
inithandlers();
initsstring();
if (argc>1) {
- initconfig(argv[1]);
- } else {
- initconfig("newserv.conf");
+ if (strcmp(argv[1], "--help")==0) {
+ printf("Syntax: %s [config]\n", argv[0]);
+ puts("");
+ printf("Default configuration file unless specified: %s\n", config);
+
+ return 0;
+ }
+
+ config = argv[1];
}
+ initconfig(config);
+
/* Loading the modules will bring in the bulk of the code */
initmodules();
signal(SIGINT, siginthandler);
freeconfig();
finisstring();
+ fini_logfile();
+ finischedule();
+ finihandlers();
+
nsexit();
+
+ return 0;
}
void handlesignals(void) {