Module: ngircd.git Branch: master Commit: 8ea1c5bb82e224326d1a73c462c74dfcb5badef6 URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=8ea1c...
Author: Alexander Barton alex@barton.de Date: Thu Dec 2 16:51:21 2010 +0100
--configtest: remember if MOTD is configured by file or phrase
Configuration variables "MotdFile" and "MotdPhrase" are mutually exclusive; so don't display content in both of them when running "ngircd --configtest": instead remember which one is beeing used.
---
src/ngircd/conf.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index 4804f2b..4a255b2 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -49,7 +49,7 @@ #include "conf.h"
-static bool Use_Log = true; +static bool Use_Log = true, Using_MotdFile = true; static CONF_SERVER New_Server; static int New_Server_Idx;
@@ -300,8 +300,14 @@ Conf_Test( void ) printf(" AdminInfo1 = %s\n", Conf_ServerAdmin1); printf(" AdminInfo2 = %s\n", Conf_ServerAdmin2); printf(" AdminEMail = %s\n", Conf_ServerAdminMail); - printf(" MotdFile = %s\n", Conf_MotdFile); - printf(" MotdPhrase = %.32s\n", array_bytes(&Conf_Motd) ? (const char*) array_start(&Conf_Motd) : ""); + if (Using_MotdFile) { + printf(" MotdFile = %s\n", Conf_MotdFile); + printf(" MotdPhrase =\n"); + } else { + printf(" MotdFile = \n"); + printf(" MotdPhrase = %s\n", array_bytes(&Conf_Motd) + ? (const char*) array_start(&Conf_Motd) : ""); + } printf(" ChrootDir = %s\n", Conf_Chroot); printf(" PidFile = %s\n", Conf_PidFile); printf(" Listen = %s\n", Conf_ListenAddress); @@ -649,6 +655,7 @@ Read_Motd(const char *filename) }
array_free(&Conf_Motd); + Using_MotdFile = true;
while (fgets(line, (int)sizeof line, fp)) { ngt_TrimLastChr( line, '\n'); @@ -951,6 +958,7 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) if (!array_copyb(&Conf_Motd, Arg, len + 1)) Config_Error(LOG_WARNING, "%s, line %d: Could not append MotdPhrase: %s", NGIRCd_ConfFile, Line, strerror(errno)); + Using_MotdFile = false; return; } if( strcasecmp( Var, "ChrootDir" ) == 0 ) {