Changeset a72af0d


Ignore:
Timestamp:
2010-08-25T00:18:27Z (14 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
3cd4016
Parents:
bd599b9
Message:

Fix /WHO on single nicks.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • irc_commands.c

    rbd599b9 ra72af0d  
    302302        char *channel = cmd[1];
    303303        irc_channel_t *ic;
     304        irc_user_t *iu;
    304305       
    305306        if( !channel || *channel == '0' || *channel == '*' || !*channel )
     
    307308        else if( ( ic = irc_channel_by_name( irc, channel ) ) )
    308309                irc_send_who( irc, ic->users, channel );
     310        else if( ( iu = irc_user_by_name( irc, channel ) ) )
     311        {
     312                /* Tiny hack! */
     313                GSList *l = g_slist_append( NULL, iu );
     314                irc_send_who( irc, l, channel );
     315                g_slist_free( l );
     316        }
    309317        else
    310318                irc_send_num( irc, 403, "%s :No such channel", channel );
  • irc_send.c

    rbd599b9 ra72af0d  
    264264void irc_send_who( irc_t *irc, GSList *l, const char *channel )
    265265{
    266         gboolean is_channel = strcmp( channel, "**" ) != 0;
     266        gboolean is_channel = strchr( CTYPES, channel[0] ) != NULL;
    267267       
    268268        while( l )
     
    273273                /* TODO(wilmer): Restore away/channel information here */
    274274                irc_send_num( irc, 352, "%s %s %s %s %s %c :0 %s",
    275                               channel ? : "*", iu->user, iu->host, irc->root->host,
     275                              is_channel ? channel : "*", iu->user, iu->host, irc->root->host,
    276276                              iu->nick, iu->flags & IRC_USER_AWAY ? 'G' : 'H',
    277277                              iu->fullname );
Note: See TracChangeset for help on using the changeset viewer.