Changeset aefa533e for root_commands.c


Ignore:
Timestamp:
2006-03-21T08:12:22Z (13 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
19a6c75
Parents:
1ad104a
Message:

Added a special +b usermode for easier parseability of some things.
(For now blist and qlist, but more should come)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • root_commands.c

    r1ad104a raefa533e  
    635635        int online = 0, away = 0, offline = 0;
    636636        user_t *u;
    637         char s[64];
     637        char s[256];
     638        char *format;
    638639        int n_online = 0, n_away = 0, n_offline = 0;
    639640       
     
    649650                online =  away = 1;
    650651       
    651         irc_usermsg( irc, "%-16.16s  %-40.40s  %s", "Nick", "User/Host/Network", "Status" );
    652        
    653         if( online == 1 ) for( u = irc->users; u; u = u->next ) if( u->gc && u->online && !u->away )
    654         {
    655                 g_snprintf( s, 63, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
    656                 irc_usermsg( irc, "%-16.16s  %-40.40s  %s", u->nick, s, "Online" );
     652        if( strchr( irc->umode, 'b' ) != NULL )
     653                format = "%s\t%s\t%s";
     654        else
     655                format = "%-16.16s  %-40.40s  %s";
     656       
     657        irc_usermsg( irc, format, "Nick", "User/Host/Network", "Status" );
     658       
     659        for( u = irc->users; u; u = u->next ) if( u->gc && u->online && !u->away )
     660        {
     661                if( online == 1 )
     662                {
     663                        g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
     664                        irc_usermsg( irc, format, u->nick, s, "Online" );
     665                }
     666               
    657667                n_online ++;
    658668        }
    659669
    660         if( away == 1 ) for( u = irc->users; u; u = u->next ) if( u->gc && u->online && u->away )
    661         {
    662                 g_snprintf( s, 63, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
    663                 irc_usermsg( irc, "%-16.16s  %-40.40s  %s", u->nick, s, u->away );
     670        for( u = irc->users; u; u = u->next ) if( u->gc && u->online && u->away )
     671        {
     672                if( away == 1 )
     673                {
     674                        g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
     675                        irc_usermsg( irc, format, u->nick, s, u->away );
     676                }
    664677                n_away ++;
    665678        }
    666679       
    667         if( offline == 1 ) for( u = irc->users; u; u = u->next ) if( u->gc && !u->online )
    668         {
    669                 g_snprintf( s, 63, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
    670                 irc_usermsg( irc, "%-16.16s  %-40.40s  %s", u->nick, s, "Offline" );
     680        for( u = irc->users; u; u = u->next ) if( u->gc && !u->online )
     681        {
     682                if( offline == 1 )
     683                {
     684                        g_snprintf( s, sizeof( s ) - 1, "%s@%s (%s)", u->user, u->host, u->gc->user->prpl->name );
     685                        irc_usermsg( irc, format, u->nick, s, "Offline" );
     686                }
    671687                n_offline ++;
    672688        }
    673689       
    674         irc_usermsg( irc, "%d buddies (%d available, %d away, %d offline)", n_online + n_away + n_offline, n_online, n_away, n_offline );
     690        if( strchr( irc->umode, 'b' ) == NULL )
     691                irc_usermsg( irc, "%d buddies (%d available, %d away, %d offline)", n_online + n_away + n_offline, n_online, n_away, n_offline );
    675692}
    676693
Note: See TracChangeset for help on using the changeset viewer.