Changeset 48721c3 for ipc.c


Ignore:
Timestamp:
2006-01-17T21:15:42Z (14 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
1ea13be
Parents:
daa9e02
Message:

A KILL command. Unfortunately the user doesn't see the KILL message yet. :-(

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ipc.c

    rdaa9e02 r48721c3  
    3232
    3333
    34 static int ipc_master_cmd_die( irc_t *data, char **cmd )
     34static int ipc_master_cmd_die( irc_t *irc, char **cmd )
    3535{
    3636        if( global.conf->runmode == RUNMODE_FORKDAEMON )
     
    4242}
    4343
    44 static int ipc_master_cmd_rehash( irc_t *data, char **cmd )
     44static int ipc_master_cmd_rehash( irc_t *irc, char **cmd )
    4545{
    4646        runmode_t oldmode;
     
    6868        { "lilo",       1, NULL,                      IPC_CMD_TO_CHILDREN },
    6969        { "rehash",     0, ipc_master_cmd_rehash,     0 },
     70        { "kill",       2, NULL,                      IPC_CMD_TO_CHILDREN },
    7071        { NULL }
    7172};
    7273
    7374
    74 static int ipc_child_cmd_die( irc_t *data, char **cmd )
     75static int ipc_child_cmd_die( irc_t *irc, char **cmd )
    7576{
    7677        bitlbee_shutdown( NULL );
     
    7980}
    8081
    81 static int ipc_child_cmd_wallops( irc_t *data, char **cmd )
    82 {
    83         irc_t *irc = data;
    84        
     82static int ipc_child_cmd_wallops( irc_t *irc, char **cmd )
     83{
    8584        if( irc->status < USTATUS_LOGGED_IN )
    8685                return 1;
     
    9291}
    9392
    94 static int ipc_child_cmd_lilo( irc_t *data, char **cmd )
    95 {
    96         irc_t *irc = data;
    97        
     93static int ipc_child_cmd_lilo( irc_t *irc, char **cmd )
     94{
    9895        if( irc->status < USTATUS_LOGGED_IN )
    9996                return 1;
     
    105102}
    106103
    107 static int ipc_child_cmd_rehash( irc_t *data, char **cmd )
     104static int ipc_child_cmd_rehash( irc_t *irc, char **cmd )
    108105{
    109106        runmode_t oldmode;
     
    117114       
    118115        return 1;
     116}
     117
     118static int ipc_child_cmd_kill( irc_t *irc, char **cmd )
     119{
     120        if( irc->status < USTATUS_LOGGED_IN )
     121                return 1;
     122       
     123        if( nick_cmp( cmd[1], irc->nick ) != 0 )
     124                return 1;       /* It's not for us. */
     125       
     126        irc_write( irc, ":%s!%s@%s KILL %s :%s", irc->mynick, irc->mynick, irc->myhost, irc->nick, cmd[2] );
     127        g_io_channel_close( irc->io_channel );
     128       
     129        return 0;
    119130}
    120131
     
    123134        { "wallops",    1, ipc_child_cmd_wallops,     0 },
    124135        { "lilo",       1, ipc_child_cmd_lilo,        0 },
    125         { "rehash",     0, ipc_child_cmd_rehash,     0 },
     136        { "rehash",     0, ipc_child_cmd_rehash,      0 },
     137        { "kill",       2, ipc_child_cmd_kill,        0 },
    126138        { NULL }
    127139};
Note: See TracChangeset for help on using the changeset viewer.