commit - c428ac756329b09a33405320c6866c9fe7550a72
commit + 8c1df9ef8d90aa249950fe9043d659361568b85a
blob - 058bc592dcd5720370fdeed0af1708c39c91d21d
blob + aac8769512ac87eaf252feecb305ea8303aedf44
--- src/ngircd/irc-mode.c
+++ src/ngircd/irc-mode.c
#include "portab.h"
-static char UNUSED id[] = "$Id: irc-mode.c,v 1.27 2002/12/26 17:14:48 alex Exp $";
+static char UNUSED id[] = "$Id: irc-mode.c,v 1.28 2003/01/02 17:57:09 alex Exp $";
#include "imp.h"
#include <assert.h>
{
case 'a':
/* Away */
- if( Client_Type( Client ) == CLIENT_SERVER ) x[0] = 'a';
+ if( Client_Type( Client ) == CLIENT_SERVER )
+ {
+ x[0] = 'a';
+ Client_SetAway( Client, DEFAULT_AWAY_MSG );
+ }
else ok = IRC_WriteStrClient( Origin, ERR_NOPRIVILEGES_MSG, Client_ID( Origin ));
break;
case 'i':
{
/* AWAY setzen */
Client_SetAway( Client, Req->argv[0] );
+ Client_ModeAdd( Client, 'a' );
IRC_WriteStrServersPrefix( Client, Client, "MODE %s :+a", Client_ID( Client ));
return IRC_WriteStrClient( Client, RPL_NOWAWAY_MSG, Client_ID( Client ));
}
else
{
/* AWAY loeschen */
- Client_SetAway( Client, NULL );
+ Client_ModeDel( Client, 'a' );
IRC_WriteStrServersPrefix( Client, Client, "MODE %s :-a", Client_ID( Client ));
return IRC_WriteStrClient( Client, RPL_UNAWAY_MSG, Client_ID( Client ));
}