commit 72accd4ee5d74a59dee93a6b203017e01d5bb3a0 from: Alexander Barton date: Thu Mar 28 14:15:33 2002 UTC - neuer Kommandozeilen-Parameter "--config"/"-f". commit - d7ecb84847a7a19dea2a22c9014f708bf4e1731a commit + 72accd4ee5d74a59dee93a6b203017e01d5bb3a0 blob - 4291c79f9d1a9ca53cb4778ef0923e2f06180358 blob + a2b4666f1fc8263b71df8e910700a296edd7a10f --- src/ngircd/ngircd.c +++ src/ngircd/ngircd.c @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: ngircd.c,v 1.36 2002/03/27 16:41:25 alex Exp $ + * $Id: ngircd.c,v 1.37 2002/03/28 14:15:33 alex Exp $ * * ngircd.c: Hier beginnt alles ;-) */ @@ -76,6 +76,18 @@ GLOBAL int main( int argc, const char *argv[] ) { /* Lange Option */ + if( strcmp( argv[i], "--config" ) == 0 ) + { + if( i + 1 < argc ) + { + /* Ok, danach kommt noch ein Parameter */ + strncpy( NGIRCd_ConfFile, argv[i + 1], FNAME_LEN - 1 ); + NGIRCd_ConfFile[FNAME_LEN - 1] = '\0'; + + /* zum uebernaechsten Parameter */ + i++; ok = TRUE; + } + } if( strcmp( argv[i], "--configtest" ) == 0 ) { configtest = TRUE; @@ -131,6 +143,19 @@ GLOBAL int main( int argc, const char *argv[] ) ok = TRUE; } #endif + if( argv[i][n] == 'f' ) + { + if(( ! argv[i][n+i] ) && ( i + 1 < argc )) + { + /* Ok, danach kommt ein Leerzeichen */ + strncpy( NGIRCd_ConfFile, argv[i + 1], FNAME_LEN - 1 ); + NGIRCd_ConfFile[FNAME_LEN - 1] = '\0'; + + /* zum uebernaechsten Parameter */ + i++; n = strlen( argv[i] ); + ok = TRUE; + } + } if( argv[i][n] == 'n' ) { NGIRCd_NoDaemon = TRUE; @@ -405,16 +430,17 @@ LOCAL VOID Show_Version( VOID ) LOCAL VOID Show_Help( VOID ) { #ifdef DEBUG - puts( " -d, --debug log extra debug messages" ); + puts( " -d, --debug log extra debug messages" ); #endif - puts( " -n, --nodaemon don't fork and don't detatch from controlling terminal" ); - puts( " -p, --passive disable automatic connections to other servers" ); -#ifdef SNIFFER - puts( " -s, --sniffer enable network sniffer and display all IRC traffic" ); + puts( " -f, --config use file as configuration file" ); + puts( " -n, --nodaemon don't fork and don't detatch from controlling terminal" ); + puts( " -p, --passive disable automatic connections to other servers" ); +#ifdef SNIFFER + puts( " -s, --sniffer enable network sniffer and display all IRC traffic" ); #endif - puts( " --configtest read, validate and display configuration; then exit" ); - puts( " --version output version information and exit" ); - puts( " --help display this help and exit" ); + puts( " --configtest read, validate and display configuration; then exit" ); + puts( " --version output version information and exit" ); + puts( " --help display this help and exit" ); } /* Show_Help */