From: Alexander Barton Date: Tue, 12 Apr 2011 19:55:32 +0000 (+0200) Subject: New function Config_Error_Section(); and code cleanup X-Git-Tag: rel-18-rc1~22 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=commitdiff_plain;h=9a102ca96b7d2cbecdbe1a7fcec1444cad22d50b New function Config_Error_Section(); and code cleanup --- diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index a00049ee..19d22d15 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001-2010 Alexander Barton (alex@barton.de) + * Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -72,6 +72,8 @@ static void Handle_CHANNEL PARAMS(( int Line, char *Var, char *Arg )); static void Config_Error PARAMS(( const int Level, const char *Format, ... )); static void Config_Error_NaN PARAMS(( const int LINE, const char *Value )); +static void Config_Error_Section PARAMS(( const int Line, const char *Item, + const char *Section )); static void Config_Error_TooLong PARAMS(( const int LINE, const char *Value )); static void Init_Server_Struct PARAMS(( CONF_SERVER *Server )); @@ -973,11 +975,11 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) struct passwd *pwd; struct group *grp; size_t len; - + assert( Line > 0 ); assert( Var != NULL ); assert( Arg != NULL ); - + if( strcasecmp( Var, "Name" ) == 0 ) { /* Server name */ len = strlcpy( Conf_ServerName, Arg, sizeof( Conf_ServerName )); @@ -1271,9 +1273,9 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) return; } #endif - Config_Error(LOG_ERR, "%s, line %d (section \"Global\"): Unknown variable \"%s\"!", - NGIRCd_ConfFile, Line, Var); -} /* Handle_GLOBAL */ + + Config_Error_Section(Line, Var, "Global"); +} static void @@ -1301,9 +1303,7 @@ Handle_FEATURES(int Line, char *Var, char *Arg) return; } - Config_Error(LOG_ERR, - "%s, line %d (section \"Features\"): Unknown variable \"%s\"!", - NGIRCd_ConfFile, Line, Var); + Config_Error_Section(Line, Var, "Options"); } static void @@ -1343,17 +1343,16 @@ Handle_OPERATOR( int Line, char *Var, char *Arg ) op->mask = strdup_warn( Arg ); return; } - Config_Error( LOG_ERR, "%s, line %d (section \"Operator\"): Unknown variable \"%s\"!", - NGIRCd_ConfFile, Line, Var ); -} /* Handle_OPERATOR */ + Config_Error_Section(Line, Var, "Operator"); +} static void Handle_SERVER( int Line, char *Var, char *Arg ) { long port; size_t len; - + assert( Line > 0 ); assert( Var != NULL ); assert( Arg != NULL ); @@ -1439,9 +1438,8 @@ Handle_SERVER( int Line, char *Var, char *Arg ) return; } - Config_Error( LOG_ERR, "%s, line %d (section \"Server\"): Unknown variable \"%s\"!", - NGIRCd_ConfFile, Line, Var ); -} /* Handle_SERVER */ + Config_Error_Section(Line, Var, "Server"); +} static bool @@ -1523,10 +1521,8 @@ Handle_CHANNEL(int Line, char *Var, char *Arg) return; } - Config_Error( LOG_ERR, "%s, line %d (section \"Channel\"): Unknown variable \"%s\"!", - NGIRCd_ConfFile, Line, Var ); -} /* Handle_CHANNEL */ - + Config_Error_Section(Line, Var, "Channel"); +} static bool Validate_Config(bool Configtest, bool Rehash) @@ -1634,6 +1630,12 @@ Config_Error_TooLong ( const int Line, const char *Item ) Config_Error( LOG_WARNING, "%s, line %d: Value of \"%s\" too long!", NGIRCd_ConfFile, Line, Item ); } +static void +Config_Error_Section(const int Line, const char *Item, const char *Section) +{ + Config_Error(LOG_ERR, "%s, line %d (section \"%s\"): Unknown variable \"%s\"!", + NGIRCd_ConfFile, Line, Section, Item); +} static void Config_Error_NaN( const int Line, const char *Item ) @@ -1642,7 +1644,6 @@ Config_Error_NaN( const int Line, const char *Item ) NGIRCd_ConfFile, Line, Item ); } - #ifdef PROTOTYPES static void Config_Error( const int Level, const char *Format, ... ) #else @@ -1666,7 +1667,7 @@ va_dcl #endif vsnprintf( msg, MAX_LOG_MSG_LEN, Format, ap ); va_end( ap ); - + /* During "normal operations" the log functions of the daemon should * be used, but during testing of the configuration file, all messages * should go directly to the console: */