From: Brendan O'Dea Date: Mon, 25 Oct 2004 15:07:51 +0000 (+0000) Subject: fix command line args X-Git-Tag: 2.2.1-2fdn3.1~19^2^2~1^2~400 X-Git-Url: http://git.sameswireless.fr/l2tpns.git/commitdiff_plain/c775894509274fe2f9cd5eaaa7a025e071496d89?ds=inline fix command line args --- diff --git a/l2tpns.c b/l2tpns.c index bce5f38..3fc7f82 100644 --- a/l2tpns.c +++ b/l2tpns.c @@ -4,7 +4,7 @@ // Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced // vim: sw=8 ts=8 -char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.30 2004-10-05 02:50:03 fred_nerk Exp $"; +char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.31 2004-10-25 15:07:51 bodea Exp $"; #include #include @@ -2458,7 +2458,7 @@ void mainloop(void) } // Init data structures -void initdata(void) +void initdata(int optdebug, char *optconfig) { int i; char *p; @@ -2475,7 +2475,8 @@ void initdata(void) } memset(config, 0, sizeof(struct configt)); time(&config->start_time); - strncpy(config->config_file, CONFIGFILE, sizeof(config->config_file) - 1); + config->debug = optdebug; + strncpy(config->config_file, optconfig, strlen(optconfig)); if (!(tunnel = shared_malloc(sizeof(tunnelt) * MAXTUNNEL))) { log(0, 0, 0, 0, "Error doing malloc for tunnels: %s\n", strerror(errno)); @@ -2906,13 +2907,14 @@ int main(int argc, char *argv[]) { int o; int optdebug = 0; + char *optconfig = CONFIGFILE; _program_name = strdup(argv[0]); time(&basetime); // start clock // scan args - while ((o = getopt(argc, argv, "vc:h:a:")) >= 0) + while ((o = getopt(argc, argv, "dvc:h:")) >= 0) { switch (o) { @@ -2924,10 +2926,12 @@ int main(int argc, char *argv[]) case 'v': optdebug++; break; + case 'c': + optconfig = optarg; + break; case 'h': snprintf(hostname, sizeof(hostname), "%s", optarg); break; - case '?': default: printf("Args are:\n" "\t-d\tDetach from terminal\n" @@ -2949,9 +2953,7 @@ int main(int argc, char *argv[]) initiptables(); initplugins(); - initdata(); - - config->debug = optdebug; + initdata(optdebug, optconfig); init_tbf(); init_cli(); diff --git a/l2tpns.h b/l2tpns.h index bea1bc7..4fd351b 100644 --- a/l2tpns.h +++ b/l2tpns.h @@ -1,5 +1,5 @@ // L2TPNS Global Stuff -// $Id: l2tpns.h,v 1.20 2004-10-04 23:34:54 fred_nerk Exp $ +// $Id: l2tpns.h,v 1.21 2004-10-25 15:07:52 bodea Exp $ #ifndef __L2TPNS_H__ #define __L2TPNS_H__ @@ -503,7 +503,7 @@ clockt backoff(u8 try); void routeset(sessionidt, ipt ip, ipt mask, ipt gw, u8 add); void inittun(void); void initudp(void); -void initdata(void); +void initdata(int optdebug, const char *optconfig); void initippool(); sessionidt sessionbyip(ipt ip); sessionidt sessionbyuser(char *username);