From 2152e377226509a6b3c5f6cd9c8c4a88a9487091 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Wed, 15 Jan 2003 13:49:20 +0000 Subject: [PATCH] - Added "HELP" command. --- src/ngircd/irc.c | 23 ++++++++++++++++++++++- src/ngircd/irc.h | 3 ++- src/ngircd/parse.c | 3 ++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c index 7cdb4dad..98ee042e 100644 --- a/src/ngircd/irc.c +++ b/src/ngircd/irc.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: irc.c,v 1.117 2003/01/13 18:56:30 alex Exp $"; +static char UNUSED id[] = "$Id: irc.c,v 1.118 2003/01/15 13:49:20 alex Exp $"; #include "imp.h" #include @@ -226,4 +226,25 @@ IRC_TRACE( CLIENT *Client, REQUEST *Req ) } /* IRC_TRACE */ +GLOBAL BOOLEAN +IRC_HELP( CLIENT *Client, REQUEST *Req ) +{ + COMMAND *cmd; + + assert( Client != NULL ); + assert( Req != NULL ); + + /* Bad number of arguments? */ + if( Req->argc > 0 ) return IRC_WriteStrClient( Client, ERR_NORECIPIENT_MSG, Client_ID( Client ), Req->command ); + + cmd = Parse_GetCommandStruct( ); + while( cmd->name ) + { + if( ! IRC_WriteStrClient( Client, "NOTICE %s :%s", Client_ID( Client ), cmd->name )) return DISCONNECTED; + cmd++; + } + return CONNECTED; +} /* IRC_HELP */ + + /* -eof- */ diff --git a/src/ngircd/irc.h b/src/ngircd/irc.h index 037bcf58..bca9d029 100644 --- a/src/ngircd/irc.h +++ b/src/ngircd/irc.h @@ -8,7 +8,7 @@ * (at your option) any later version. * Please read the file COPYING, README and AUTHORS for more information. * - * $Id: irc.h,v 1.37 2003/01/13 18:56:30 alex Exp $ + * $Id: irc.h,v 1.38 2003/01/15 13:49:20 alex Exp $ * * IRC commands (header) */ @@ -23,6 +23,7 @@ GLOBAL BOOLEAN IRC_KILL PARAMS(( CLIENT *Client, REQUEST *Req )); GLOBAL BOOLEAN IRC_NOTICE PARAMS(( CLIENT *Client, REQUEST *Req )); GLOBAL BOOLEAN IRC_PRIVMSG PARAMS(( CLIENT *Client, REQUEST *Req )); GLOBAL BOOLEAN IRC_TRACE PARAMS(( CLIENT *Client, REQUEST *Req )); +GLOBAL BOOLEAN IRC_HELP PARAMS(( CLIENT *Client, REQUEST *Req )); #endif diff --git a/src/ngircd/parse.c b/src/ngircd/parse.c index 08d47f11..1857e726 100644 --- a/src/ngircd/parse.c +++ b/src/ngircd/parse.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: parse.c,v 1.58 2003/01/13 18:56:30 alex Exp $"; +static char UNUSED id[] = "$Id: parse.c,v 1.59 2003/01/15 13:49:20 alex Exp $"; #include "imp.h" #include @@ -56,6 +56,7 @@ COMMAND My_Commands[] = { "DIE", IRC_DIE, CLIENT_USER, 0, 0, 0 }, { "DISCONNECT", IRC_DISCONNECT, CLIENT_USER, 0, 0, 0 }, { "ERROR", IRC_ERROR, 0xFFFF, 0, 0, 0 }, + { "HELP", IRC_HELP, CLIENT_USER, 0, 0, 0 }, { "INVITE", IRC_INVITE, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 }, { "ISON", IRC_ISON, CLIENT_USER, 0, 0, 0 }, { "JOIN", IRC_JOIN, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 },