about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2002-03-27 16:41:25 +0000
committerAlexander Barton <alex@barton.de>2002-03-27 16:41:25 +0000
commita89dc546902af4e394a2b4bf0b776898f6157374 (patch)
treeec2ed6a12c2b14104fa3e15146b320e30ceef3d3 /src
parente8668cf5933c7b0ababcca3d8171c765ec704504 (diff)
downloadngircd-a89dc546902af4e394a2b4bf0b776898f6157374.tar.gz
ngircd-a89dc546902af4e394a2b4bf0b776898f6157374.zip
- neuer Kommandozeilen-Parameter "--configtest": gibt die verwendete Server-
  Konfiguration aus. Diesbezuegliche Ausgaben bei "--help" sind entfallen.
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/ngircd.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c
index ceadd328..4291c79f 100644
--- a/src/ngircd/ngircd.c
+++ b/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.35 2002/03/25 19:11:01 alex Exp $
+ * $Id: ngircd.c,v 1.36 2002/03/27 16:41:25 alex Exp $
  *
  * ngircd.c: Hier beginnt alles ;-)
  */
@@ -52,7 +52,7 @@ LOCAL VOID Show_Help( VOID );
 
 GLOBAL int main( int argc, const char *argv[] )
 {
-	BOOLEAN ok;
+	BOOLEAN ok, configtest = FALSE;
 	INT32 pid, n;
 	INT i;
 
@@ -66,6 +66,7 @@ GLOBAL int main( int argc, const char *argv[] )
 #ifdef SNIFFER
 	NGIRCd_Sniffer = FALSE;
 #endif
+	strcpy( NGIRCd_ConfFile, CONFIG_FILE );
 
 	/* Kommandozeile parsen */
 	for( i = 1; i < argc; i++ )
@@ -75,6 +76,11 @@ GLOBAL int main( int argc, const char *argv[] )
 		{
 			/* Lange Option */
 
+			if( strcmp( argv[i], "--configtest" ) == 0 )
+			{
+				configtest = TRUE;
+				ok = TRUE;
+			}
 #ifdef DEBUG
 			if( strcmp( argv[i], "--debug" ) == 0 )
 			{
@@ -84,8 +90,8 @@ GLOBAL int main( int argc, const char *argv[] )
 #endif
 			if( strcmp( argv[i], "--help" ) == 0 )
 			{
-				Show_Version( ); puts( "" );
-				Show_Help( ); puts( "" );
+				Show_Version( );
+				puts( "" ); Show_Help( ); puts( "" );
 				exit( 1 );
 			}
 			if( strcmp( argv[i], "--nodaemon" ) == 0 )
@@ -168,6 +174,13 @@ GLOBAL int main( int argc, const char *argv[] )
 #ifdef SNIFFER
 	if( NGIRCd_Sniffer ) strcpy( NGIRCd_DebugLevel, "2" );
 #endif
+
+	/* Soll nur die Konfigurations ueberprueft und ausgegeben werden? */
+	if( configtest )
+	{
+		Show_Version( ); puts( "" );
+		exit( Conf_Test( ));
+	}
 	
 	while( ! NGIRCd_Quit )
 	{
@@ -391,11 +404,6 @@ LOCAL VOID Show_Version( VOID )
 
 LOCAL VOID Show_Help( VOID )
 {
-	puts( "Compile-time defaults:\n" );
-	puts( "  - configuration: "CONFIG_FILE );
-	puts( "  - MOTD file: "MOTD_FILE );
-	puts( "  - server error log: "ERROR_FILE"\n" );
-	puts( "Run-time options:\n" );
 #ifdef DEBUG
 	puts( "  -d, --debug       log extra debug messages" );
 #endif
@@ -404,6 +412,7 @@ LOCAL VOID Show_Help( VOID )
 #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" );
 } /* Show_Help */