Changeset a4dc9f7 for root_commands.c


Ignore:
Timestamp:
2006-03-01T22:48:37Z (18 years ago)
Author:
Jelmer Vernooij <jelmer@…>
Branches:
master
Children:
46ad029
Parents:
8e419cb (diff), 9a1555d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

[merge] Wilmer

File:
1 moved

Legend:

Unmodified
Added
Removed
  • root_commands.c

    r8e419cb ra4dc9f7  
    3232#include <string.h>
    3333
    34 const command_t commands[] = {
    35         { "help",           0, cmd_help },
    36         { "identify",       1, cmd_identify },
    37         { "register",       1, cmd_register },
    38         { "drop",           1, cmd_drop },
    39         { "account",        1, cmd_account },
    40         { "add",            2, cmd_add },
    41         { "info",           1, cmd_info },
    42         { "rename",         2, cmd_rename },
    43         { "remove",         1, cmd_remove },
    44         { "block",          1, cmd_block },
    45         { "allow",          1, cmd_allow },
    46         { "save",           0, cmd_save },
    47         { "set",            0, cmd_set },
    48         { "yes",            0, cmd_yesno },
    49         { "no",             0, cmd_yesno },
    50         { "blist",          0, cmd_blist },
    51         { "nick",           1, cmd_nick },
    52         { "import_buddies", 1, cmd_import_buddies },
    53         { "qlist",          0, cmd_qlist },
    54         { NULL }
    55 };
    56 
    57 int root_command_string( irc_t *irc, user_t *u, char *command, int flags )
     34void root_command_string( irc_t *irc, user_t *u, char *command, int flags )
    5835{
    5936        char *cmd[IRC_MAX_ARGS];
     
    8764        cmd[k] = NULL;
    8865       
    89         return( root_command( irc, cmd ) );
    90 }
    91 
    92 int root_command( irc_t *irc, char *cmd[] )
     66        root_command( irc, cmd );
     67}
     68
     69void root_command( irc_t *irc, char *cmd[] )
    9370{       
    9471        int i;
    9572       
    9673        if( !cmd[0] )
    97                 return( 0 );
     74                return;
    9875       
    9976        for( i = 0; commands[i].command; i++ )
     
    10380                        {
    10481                                irc_usermsg( irc, "Not enough parameters given (need %d)", commands[i].required_parameters );
    105                                 return( 0 );
     82                                return;
    10683                        }
    10784                        commands[i].execute( irc, cmd );
    108                         return( 1 );
     85                        return;
    10986                }
    11087       
    11188        irc_usermsg( irc, "Unknown command: %s. Please use \x02help commands\x02 to get a list of available commands.", cmd[0] );
    112        
    113         return( 1 );
    114 }
    115 
    116 int cmd_help( irc_t *irc, char **cmd )
     89}
     90
     91static void cmd_help( irc_t *irc, char **cmd )
    11792{
    11893        char param[80];
     
    134109                irc_usermsg( irc, "%s", s );
    135110                g_free( s );
    136                 return( 1 );
    137111        }
    138112        else
    139113        {
    140114                irc_usermsg( irc, "Error opening helpfile." );
    141                 return( 0 );
    142         }
    143 }
    144 
    145 int cmd_identify( irc_t *irc, char **cmd )
     115        }
     116}
     117
     118static void cmd_identify( irc_t *irc, char **cmd )
    146119{
    147120        storage_status_t status = storage_load( irc->nick, cmd[1], irc );
     
    162135                break;
    163136        }
    164 
    165         return( 0 );
    166 }
    167 
    168 int cmd_register( irc_t *irc, char **cmd )
     137}
     138
     139static void cmd_register( irc_t *irc, char **cmd )
    169140{
    170141        if( global.conf->authmode == AUTHMODE_REGISTERED )
    171142        {
    172143                irc_usermsg( irc, "This server does not allow registering new accounts" );
    173                 return( 0 );
     144                return;
    174145        }
    175146
     
    189160                        break;
    190161        }
    191        
    192         return( 0 );
    193 }
    194 
    195 int cmd_drop( irc_t *irc, char **cmd )
     162}
     163
     164static void cmd_drop( irc_t *irc, char **cmd )
    196165{
    197166        storage_status_t status;
     
    201170        case STORAGE_NO_SUCH_USER:
    202171                irc_usermsg( irc, "That account does not exist" );
    203                 return( 0 );
     172                break;
    204173        case STORAGE_INVALID_PASSWORD:
    205174                irc_usermsg( irc, "Password invalid" );
    206                 return( 0 );
     175                break;
    207176        case STORAGE_OK:
    208177                irc_setpass( irc, NULL );
     
    210179                irc_umode_set( irc, "-R", 1 );
    211180                irc_usermsg( irc, "Account `%s' removed", irc->nick );
    212                 return( 0 );
     181                break;
    213182        default:
    214183                irc_usermsg( irc, "Error: '%d'", status );
    215                 return( 0 );
    216         }
    217 }
    218 
    219 int cmd_account( irc_t *irc, char **cmd )
     184                break;
     185        }
     186}
     187
     188static void cmd_account( irc_t *irc, char **cmd )
    220189{
    221190        account_t *a;
     
    224193        {
    225194                irc_usermsg( irc, "This server only accepts registered users" );
    226                 return( 0 );
     195                return;
    227196        }
    228197       
     
    234203                {
    235204                        irc_usermsg( irc, "Not enough parameters" );
    236                         return( 0 );
     205                        return;
    237206                }
    238207               
     
    242211                {
    243212                        irc_usermsg( irc, "Unknown protocol" );
    244                         return( 0 );
     213                        return;
    245214                }
    246215
     
    304273                                {
    305274                                        irc_usermsg( irc, "Account already online" );
    306                                         return( 0 );
     275                                        return;
    307276                                }
    308277                                else
     
    314283                        {
    315284                                irc_usermsg( irc, "Invalid account" );
    316                                 return( 0 );
     285                                return;
    317286                        }
    318287                }
     
    360329                        {
    361330                                irc_usermsg( irc, "Account already offline" );
    362                                 return( 0 );
     331                                return;
    363332                        }
    364333                }
     
    366335                {
    367336                        irc_usermsg( irc, "Invalid account" );
    368                         return( 0 );
     337                        return;
    369338                }
    370339        }
     
    373342                irc_usermsg( irc, "Unknown command: account %s. Please use \x02help commands\x02 to get a list of available commands.", cmd[1] );
    374343        }
    375        
    376         return( 1 );
    377 }
    378 
    379 int cmd_add( irc_t *irc, char **cmd )
     344}
     345
     346static void cmd_add( irc_t *irc, char **cmd )
    380347{
    381348        account_t *a;
     
    384351        {
    385352                irc_usermsg( irc, "Invalid account" );
    386                 return( 1 );
     353                return;
    387354        }
    388355        else if( !( a->gc && ( a->gc->flags & OPT_LOGGED_IN ) ) )
    389356        {
    390357                irc_usermsg( irc, "That account is not on-line" );
    391                 return( 1 );
     358                return;
    392359        }
    393360       
     
    397364                {
    398365                        irc_usermsg( irc, "The requested nick `%s' is invalid", cmd[3] );
    399                         return( 0 );
     366                        return;
    400367                }
    401368                else if( user_find( irc, cmd[3] ) )
    402369                {
    403370                        irc_usermsg( irc, "The requested nick `%s' already exists", cmd[3] );
    404                         return( 0 );
     371                        return;
    405372                }
    406373                else
     
    413380       
    414381        irc_usermsg( irc, "User `%s' added to your contact list as `%s'", cmd[2], user_findhandle( a->gc, cmd[2] )->nick );
    415        
    416         return( 0 );
    417 }
    418 
    419 int cmd_info( irc_t *irc, char **cmd )
     382}
     383
     384static void cmd_info( irc_t *irc, char **cmd )
    420385{
    421386        struct gaim_connection *gc;
     
    428393                {
    429394                        irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] );
    430                         return( 1 );
     395                        return;
    431396                }
    432397                gc = u->gc;
     
    436401        {
    437402                irc_usermsg( irc, "Invalid account" );
    438                 return( 1 );
     403                return;
    439404        }
    440405        else if( !( ( gc = a->gc ) && ( a->gc->flags & OPT_LOGGED_IN ) ) )
    441406        {
    442407                irc_usermsg( irc, "That account is not on-line" );
    443                 return( 1 );
     408                return;
    444409        }
    445410       
     
    447412        {
    448413                irc_usermsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
    449                 return( 1 );
    450         }
    451         gc->prpl->get_info( gc, cmd[2] );
    452        
    453         return( 0 );
    454 }
    455 
    456 int cmd_rename( irc_t *irc, char **cmd )
     414        }
     415        else
     416        {
     417                gc->prpl->get_info( gc, cmd[2] );
     418        }
     419}
     420
     421static void cmd_rename( irc_t *irc, char **cmd )
    457422{
    458423        user_t *u;
     
    461426        {
    462427                irc_usermsg( irc, "Nick `%s' can't be changed", cmd[1] );
    463                 return( 1 );
    464         }
    465         if( user_find( irc, cmd[2] ) && ( nick_cmp( cmd[1], cmd[2] ) != 0 ) )
     428        }
     429        else if( user_find( irc, cmd[2] ) && ( nick_cmp( cmd[1], cmd[2] ) != 0 ) )
    466430        {
    467431                irc_usermsg( irc, "Nick `%s' already exists", cmd[2] );
    468                 return( 1 );
    469         }
    470         if( !nick_ok( cmd[2] ) )
     432        }
     433        else if( !nick_ok( cmd[2] ) )
    471434        {
    472435                irc_usermsg( irc, "Nick `%s' is invalid", cmd[2] );
    473                 return( 1 );
    474         }
    475         if( !( u = user_find( irc, cmd[1] ) ) )
     436        }
     437        else if( !( u = user_find( irc, cmd[1] ) ) )
    476438        {
    477439                irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] );
    478                 return( 1 );
    479         }
    480         user_rename( irc, cmd[1], cmd[2] );
    481         irc_write( irc, ":%s!%s@%s NICK %s", cmd[1], u->user, u->host, cmd[2] );
    482         if( g_strcasecmp( cmd[1], irc->mynick ) == 0 )
    483         {
    484                 g_free( irc->mynick );
    485                 irc->mynick = g_strdup( cmd[2] );
    486         }
    487         else if( u->send_handler == buddy_send_handler )
    488         {
    489                 nick_set( irc, u->handle, u->gc->prpl, cmd[2] );
    490         }
    491        
    492         irc_usermsg( irc, "Nick successfully changed" );
    493        
    494         return( 0 );
    495 }
    496 
    497 int cmd_remove( irc_t *irc, char **cmd )
     440        }
     441        else
     442        {
     443                user_rename( irc, cmd[1], cmd[2] );
     444                irc_write( irc, ":%s!%s@%s NICK %s", cmd[1], u->user, u->host, cmd[2] );
     445                if( g_strcasecmp( cmd[1], irc->mynick ) == 0 )
     446                {
     447                        g_free( irc->mynick );
     448                        irc->mynick = g_strdup( cmd[2] );
     449                }
     450                else if( u->send_handler == buddy_send_handler )
     451                {
     452                        nick_set( irc, u->handle, u->gc->prpl, cmd[2] );
     453                }
     454               
     455                irc_usermsg( irc, "Nick successfully changed" );
     456        }
     457}
     458
     459static void cmd_remove( irc_t *irc, char **cmd )
    498460{
    499461        user_t *u;
     
    503465        {
    504466                irc_usermsg( irc, "Buddy `%s' not found", cmd[1] );
    505                 return( 1 );
     467                return;
    506468        }
    507469        s = g_strdup( u->handle );
     
    514476        g_free( s );
    515477       
    516         return( 0 );
    517 }
    518 
    519 int cmd_block( irc_t *irc, char **cmd )
     478        return;
     479}
     480
     481static void cmd_block( irc_t *irc, char **cmd )
    520482{
    521483        struct gaim_connection *gc;
     
    528490                {
    529491                        irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] );
    530                         return( 1 );
     492                        return;
    531493                }
    532494                gc = u->gc;
     
    536498        {
    537499                irc_usermsg( irc, "Invalid account" );
    538                 return( 1 );
     500                return;
    539501        }
    540502        else if( !( ( gc = a->gc ) && ( a->gc->flags & OPT_LOGGED_IN ) ) )
    541503        {
    542504                irc_usermsg( irc, "That account is not on-line" );
    543                 return( 1 );
     505                return;
    544506        }
    545507       
     
    554516                irc_usermsg( irc, "Buddy `%s' moved from your permit- to your deny-list", cmd[2] );
    555517        }
    556        
    557         return( 0 );
    558 }
    559 
    560 int cmd_allow( irc_t *irc, char **cmd )
     518}
     519
     520static void cmd_allow( irc_t *irc, char **cmd )
    561521{
    562522        struct gaim_connection *gc;
     
    569529                {
    570530                        irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] );
    571                         return( 1 );
     531                        return;
    572532                }
    573533                gc = u->gc;
     
    577537        {
    578538                irc_usermsg( irc, "Invalid account" );
    579                 return( 1 );
     539                return;
    580540        }
    581541        else if( !( ( gc = a->gc ) && ( a->gc->flags & OPT_LOGGED_IN ) ) )
    582542        {
    583543                irc_usermsg( irc, "That account is not on-line" );
    584                 return( 1 );
     544                return;
    585545        }
    586546       
     
    596556                irc_usermsg( irc, "Buddy `%s' moved from your deny- to your permit-list", cmd[2] );
    597557        }
    598        
    599         return( 0 );
    600 }
    601 
    602 int cmd_yesno( irc_t *irc, char **cmd )
     558}
     559
     560static void cmd_yesno( irc_t *irc, char **cmd )
    603561{
    604562        query_t *q = NULL;
     
    608566        {
    609567                irc_usermsg( irc, "Did I ask you something?" );
    610                 return( 0 );
     568                return;
    611569        }
    612570       
     
    618576                {
    619577                        irc_usermsg( irc, "Invalid query number" );
    620                         return( 0 );
     578                        return;
    621579                }
    622580               
     
    628586                {
    629587                        irc_usermsg( irc, "Uhm, I never asked you something like that..." );
    630                         return( 0 );
     588                        return;
    631589                }
    632590        }
     
    636594        else if( g_strcasecmp( cmd[0], "no" ) == 0 )
    637595                query_answer( irc, q, 0 );
    638        
    639         return( 1 );
    640 }
    641 
    642 int cmd_set( irc_t *irc, char **cmd )
     596}
     597
     598static void cmd_set( irc_t *irc, char **cmd )
    643599{
    644600        if( cmd[1] && cmd[2] )
    645601        {
    646602                set_setstr( irc, cmd[1], cmd[2] );
     603               
     604                if( ( strcmp( cmd[2], "=" ) ) == 0 && cmd[3] )
     605                        irc_usermsg( irc, "Warning: Correct syntax: \002set <variable> <value>\002 (without =)" );
    647606        }
    648607        if( cmd[1] ) /* else 'forgotten' on purpose.. Must show new value after changing */
     
    662621                }
    663622        }
    664        
    665         return( 0 );
    666 }
    667 
    668 int cmd_save( irc_t *irc, char **cmd )
     623}
     624
     625static void cmd_save( irc_t *irc, char **cmd )
    669626{
    670627        if( storage_save( irc, TRUE ) == STORAGE_OK )
     
    672629        else
    673630                irc_usermsg( irc, "Configuration could not be saved!" );
    674        
    675         return( 0 );
    676 }
    677 
    678 int cmd_blist( irc_t *irc, char **cmd )
     631}
     632
     633static void cmd_blist( irc_t *irc, char **cmd )
    679634{
    680635        int online = 0, away = 0, offline = 0;
     
    718673       
    719674        irc_usermsg( irc, "%d buddies (%d available, %d away, %d offline)", n_online + n_away + n_offline, n_online, n_away, n_offline );
    720        
    721         return( 0 );
    722 }
    723 
    724 int cmd_nick( irc_t *irc, char **cmd )
     675}
     676
     677static void cmd_nick( irc_t *irc, char **cmd )
    725678{
    726679        account_t *a;
     
    754707                        a->gc->prpl->set_info( a->gc, cmd[2] );
    755708        }
    756        
    757         return( 1 );
    758 }
    759 
    760 int cmd_qlist( irc_t *irc, char **cmd )
     709}
     710
     711static void cmd_qlist( irc_t *irc, char **cmd )
    761712{
    762713        query_t *q = irc->queries;
     
    766717        {
    767718                irc_usermsg( irc, "There are no pending questions." );
    768                 return( 0 );
     719                return;
    769720        }
    770721       
     
    776727                else
    777728                        irc_usermsg( irc, "%d, BitlBee: %s", num, q->question );
    778        
    779         return( 0 );
    780 }
    781 
    782 int cmd_import_buddies( irc_t *irc, char **cmd )
     729}
     730
     731static void cmd_import_buddies( irc_t *irc, char **cmd )
    783732{
    784733        struct gaim_connection *gc;
     
    789738        {
    790739                irc_usermsg( irc, "Invalid account" );
    791                 return( 0 );
     740                return;
    792741        }
    793742        else if( !( ( gc = a->gc ) && ( a->gc->flags & OPT_LOGGED_IN ) ) )
    794743        {
    795744                irc_usermsg( irc, "That account is not on-line" );
    796                 return( 0 );
     745                return;
    797746        }
    798747       
     
    815764                {
    816765                        irc_usermsg( irc, "Invalid argument: %s", cmd[2] );
    817                         return( 0 );
     766                        return;
    818767                }
    819768        }
     
    829778       
    830779        irc_usermsg( irc, "Sent all add requests. Please wait for a while, the server needs some time to handle all the adds." );
    831        
    832         return( 0 );
    833 }
     780}
     781
     782const command_t commands[] = {
     783        { "help",           0, cmd_help,           0 },
     784        { "identify",       1, cmd_identify,       0 },
     785        { "register",       1, cmd_register,       0 },
     786        { "drop",           1, cmd_drop,           0 },
     787        { "account",        1, cmd_account,        0 },
     788        { "add",            2, cmd_add,            0 },
     789        { "info",           1, cmd_info,           0 },
     790        { "rename",         2, cmd_rename,         0 },
     791        { "remove",         1, cmd_remove,         0 },
     792        { "block",          1, cmd_block,          0 },
     793        { "allow",          1, cmd_allow,          0 },
     794        { "save",           0, cmd_save,           0 },
     795        { "set",            0, cmd_set,            0 },
     796        { "yes",            0, cmd_yesno,          0 },
     797        { "no",             0, cmd_yesno,          0 },
     798        { "blist",          0, cmd_blist,          0 },
     799        { "nick",           1, cmd_nick,           0 },
     800        { "import_buddies", 1, cmd_import_buddies, 0 },
     801        { "qlist",          0, cmd_qlist,          0 },
     802        { NULL }
     803};
Note: See TracChangeset for help on using the changeset viewer.