Changeset 4c3519a


Ignore:
Timestamp:
2010-04-14T22:45:09Z (9 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
e7edbb7
Parents:
003a12b
Message:

Restored blist command.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • irc_user.c

    r003a12b r4c3519a  
    145145                        return "Offline";
    146146                else if( bu->flags & BEE_USER_AWAY )
    147                         /* TODO: status msgs, etc. */
    148                         return bu->status;
     147                {
     148                        if( bu->status_msg )
     149                        {
     150                                static char ret[MAX_STRING];
     151                                g_snprintf( ret, MAX_STRING - 1, "%s (%s)",
     152                                            bu->status ? : "Away", bu->status_msg );
     153                                return ret;
     154                        }
     155                        else
     156                                return bu->status ? : "Away";
     157                }
    149158        }
    150159       
  • root_commands.c

    r003a12b r4c3519a  
    881881}
    882882
    883 #if 0
    884883static void cmd_blist( irc_t *irc, char **cmd )
    885884{
    886885        int online = 0, away = 0, offline = 0;
    887         user_t *u;
     886        GSList *l;
    888887        char s[256];
    889888        char *format;
     
    906905                format = "%-16.16s  %-40.40s  %s";
    907906       
    908         irc_usermsg( irc, format, "Nick", "User/Host/Network", "Status" );
    909        
    910         for( u = irc->users; u; u = u->next ) if( u->ic && u->online && !u->away )
    911         {
     907        irc_usermsg( irc, format, "Nick", "Handle/Account", "Status" );
     908       
     909        for( l = irc->users; l; l = l->next )
     910        {
     911                irc_user_t *iu = l->data;
     912                bee_user_t *bu = iu->bu;
     913               
     914                if( !bu || ( bu->flags & ( BEE_USER_ONLINE | BEE_USER_AWAY ) ) != BEE_USER_ONLINE )
     915                        continue;
     916               
    912917                if( online == 1 )
    913918                {
    914919                        char st[256] = "Online";
    915920                       
    916                         if( u->status_msg )
    917                                 g_snprintf( st, sizeof( st ) - 1, "Online (%s)", u->status_msg );
     921                        if( bu->status_msg )
     922                                g_snprintf( st, sizeof( st ) - 1, "Online (%s)", bu->status_msg );
    918923                       
    919                         g_snprintf( s, sizeof( s ) - 1, "%s@%s %s(%s)", u->user, u->host, u->ic->acc->prpl->name, u->ic->acc->user );
    920                         irc_usermsg( irc, format, u->nick, s, st );
     924                        g_snprintf( s, sizeof( s ) - 1, "%s %s(%s)", bu->handle, bu->ic->acc->prpl->name, bu->ic->acc->user );
     925                        irc_usermsg( irc, format, iu->nick, s, st );
    921926                }
    922927               
     
    924929        }
    925930
    926         for( u = irc->users; u; u = u->next ) if( u->ic && u->online && u->away )
    927         {
     931        for( l = irc->users; l; l = l->next )
     932        {
     933                irc_user_t *iu = l->data;
     934                bee_user_t *bu = iu->bu;
     935               
     936                if( !bu || !( bu->flags & BEE_USER_ONLINE ) || !( bu->flags & BEE_USER_AWAY ) )
     937                        continue;
     938               
    928939                if( away == 1 )
    929940                {
    930                         g_snprintf( s, sizeof( s ) - 1, "%s@%s %s(%s)", u->user, u->host, u->ic->acc->prpl->name, u->ic->acc->user );
    931                         irc_usermsg( irc, format, u->nick, s, u->away );
     941                        g_snprintf( s, sizeof( s ) - 1, "%s %s(%s)", bu->handle, bu->ic->acc->prpl->name, bu->ic->acc->user );
     942                        irc_usermsg( irc, format, iu->nick, s, irc_user_get_away( iu ) );
    932943                }
    933944                n_away ++;
    934945        }
    935946       
    936         for( u = irc->users; u; u = u->next ) if( u->ic && !u->online )
    937         {
     947        for( l = irc->users; l; l = l->next )
     948        {
     949                irc_user_t *iu = l->data;
     950                bee_user_t *bu = iu->bu;
     951               
     952                if( !bu || bu->flags & BEE_USER_ONLINE )
     953                        continue;
     954               
    938955                if( offline == 1 )
    939956                {
    940                         g_snprintf( s, sizeof( s ) - 1, "%s@%s %s(%s)", u->user, u->host, u->ic->acc->prpl->name, u->ic->acc->user );
    941                         irc_usermsg( irc, format, u->nick, s, "Offline" );
     957                        g_snprintf( s, sizeof( s ) - 1, "%s %s(%s)", bu->handle, bu->ic->acc->prpl->name, bu->ic->acc->user );
     958                        irc_usermsg( irc, format, iu->nick, s, "Offline" );
    942959                }
    943960                n_offline ++;
     
    947964}
    948965
     966#if 0
    949967static void cmd_qlist( irc_t *irc, char **cmd )
    950968{
     
    11461164        { "account",        1, cmd_account,        0 },
    11471165        { "add",            2, cmd_add,            0 },
     1166        { "blist",          0, cmd_blist,          0 },
    11481167        { "drop",           1, cmd_drop,           0 },
    11491168        { "help",           0, cmd_help,           0 },
     
    11591178#if 0
    11601179        { "allow",          1, cmd_allow,          0 },
    1161         { "blist",          0, cmd_blist,          0 },
    11621180        { "block",          1, cmd_block,          0 },
    11631181        { "chat",           1, cmd_chat,           0 },
    11641182        { "ft",             0, cmd_transfer,       0 },
    1165         { "join_chat",      2, cmd_join_chat,      0 },
    11661183        { "qlist",          0, cmd_qlist,          0 },
    11671184        { "transfer",       0, cmd_transfer,       0 },
Note: See TracChangeset for help on using the changeset viewer.