Changeset a4dc9f7 for root_commands.c
- Timestamp:
- 2006-03-01T22:48:37Z (18 years ago)
- 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. - File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
root_commands.c
r8e419cb ra4dc9f7 32 32 #include <string.h> 33 33 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 ) 34 void root_command_string( irc_t *irc, user_t *u, char *command, int flags ) 58 35 { 59 36 char *cmd[IRC_MAX_ARGS]; … … 87 64 cmd[k] = NULL; 88 65 89 r eturn( root_command( irc, cmd ));90 } 91 92 introot_command( irc_t *irc, char *cmd[] )66 root_command( irc, cmd ); 67 } 68 69 void root_command( irc_t *irc, char *cmd[] ) 93 70 { 94 71 int i; 95 72 96 73 if( !cmd[0] ) 97 return ( 0 );74 return; 98 75 99 76 for( i = 0; commands[i].command; i++ ) … … 103 80 { 104 81 irc_usermsg( irc, "Not enough parameters given (need %d)", commands[i].required_parameters ); 105 return ( 0 );82 return; 106 83 } 107 84 commands[i].execute( irc, cmd ); 108 return ( 1 );85 return; 109 86 } 110 87 111 88 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 91 static void cmd_help( irc_t *irc, char **cmd ) 117 92 { 118 93 char param[80]; … … 134 109 irc_usermsg( irc, "%s", s ); 135 110 g_free( s ); 136 return( 1 );137 111 } 138 112 else 139 113 { 140 114 irc_usermsg( irc, "Error opening helpfile." ); 141 return( 0 ); 142 } 143 } 144 145 int cmd_identify( irc_t *irc, char **cmd ) 115 } 116 } 117 118 static void cmd_identify( irc_t *irc, char **cmd ) 146 119 { 147 120 storage_status_t status = storage_load( irc->nick, cmd[1], irc ); … … 162 135 break; 163 136 } 164 165 return( 0 ); 166 } 167 168 int cmd_register( irc_t *irc, char **cmd ) 137 } 138 139 static void cmd_register( irc_t *irc, char **cmd ) 169 140 { 170 141 if( global.conf->authmode == AUTHMODE_REGISTERED ) 171 142 { 172 143 irc_usermsg( irc, "This server does not allow registering new accounts" ); 173 return ( 0 );144 return; 174 145 } 175 146 … … 189 160 break; 190 161 } 191 192 return( 0 ); 193 } 194 195 int cmd_drop( irc_t *irc, char **cmd ) 162 } 163 164 static void cmd_drop( irc_t *irc, char **cmd ) 196 165 { 197 166 storage_status_t status; … … 201 170 case STORAGE_NO_SUCH_USER: 202 171 irc_usermsg( irc, "That account does not exist" ); 203 return( 0 );172 break; 204 173 case STORAGE_INVALID_PASSWORD: 205 174 irc_usermsg( irc, "Password invalid" ); 206 return( 0 );175 break; 207 176 case STORAGE_OK: 208 177 irc_setpass( irc, NULL ); … … 210 179 irc_umode_set( irc, "-R", 1 ); 211 180 irc_usermsg( irc, "Account `%s' removed", irc->nick ); 212 return( 0 );181 break; 213 182 default: 214 183 irc_usermsg( irc, "Error: '%d'", status ); 215 return( 0 );216 } 217 } 218 219 intcmd_account( irc_t *irc, char **cmd )184 break; 185 } 186 } 187 188 static void cmd_account( irc_t *irc, char **cmd ) 220 189 { 221 190 account_t *a; … … 224 193 { 225 194 irc_usermsg( irc, "This server only accepts registered users" ); 226 return ( 0 );195 return; 227 196 } 228 197 … … 234 203 { 235 204 irc_usermsg( irc, "Not enough parameters" ); 236 return ( 0 );205 return; 237 206 } 238 207 … … 242 211 { 243 212 irc_usermsg( irc, "Unknown protocol" ); 244 return ( 0 );213 return; 245 214 } 246 215 … … 304 273 { 305 274 irc_usermsg( irc, "Account already online" ); 306 return ( 0 );275 return; 307 276 } 308 277 else … … 314 283 { 315 284 irc_usermsg( irc, "Invalid account" ); 316 return ( 0 );285 return; 317 286 } 318 287 } … … 360 329 { 361 330 irc_usermsg( irc, "Account already offline" ); 362 return ( 0 );331 return; 363 332 } 364 333 } … … 366 335 { 367 336 irc_usermsg( irc, "Invalid account" ); 368 return ( 0 );337 return; 369 338 } 370 339 } … … 373 342 irc_usermsg( irc, "Unknown command: account %s. Please use \x02help commands\x02 to get a list of available commands.", cmd[1] ); 374 343 } 375 376 return( 1 ); 377 } 378 379 int cmd_add( irc_t *irc, char **cmd ) 344 } 345 346 static void cmd_add( irc_t *irc, char **cmd ) 380 347 { 381 348 account_t *a; … … 384 351 { 385 352 irc_usermsg( irc, "Invalid account" ); 386 return ( 1 );353 return; 387 354 } 388 355 else if( !( a->gc && ( a->gc->flags & OPT_LOGGED_IN ) ) ) 389 356 { 390 357 irc_usermsg( irc, "That account is not on-line" ); 391 return ( 1 );358 return; 392 359 } 393 360 … … 397 364 { 398 365 irc_usermsg( irc, "The requested nick `%s' is invalid", cmd[3] ); 399 return ( 0 );366 return; 400 367 } 401 368 else if( user_find( irc, cmd[3] ) ) 402 369 { 403 370 irc_usermsg( irc, "The requested nick `%s' already exists", cmd[3] ); 404 return ( 0 );371 return; 405 372 } 406 373 else … … 413 380 414 381 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 384 static void cmd_info( irc_t *irc, char **cmd ) 420 385 { 421 386 struct gaim_connection *gc; … … 428 393 { 429 394 irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] ); 430 return ( 1 );395 return; 431 396 } 432 397 gc = u->gc; … … 436 401 { 437 402 irc_usermsg( irc, "Invalid account" ); 438 return ( 1 );403 return; 439 404 } 440 405 else if( !( ( gc = a->gc ) && ( a->gc->flags & OPT_LOGGED_IN ) ) ) 441 406 { 442 407 irc_usermsg( irc, "That account is not on-line" ); 443 return ( 1 );408 return; 444 409 } 445 410 … … 447 412 { 448 413 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 intcmd_rename( irc_t *irc, char **cmd )414 } 415 else 416 { 417 gc->prpl->get_info( gc, cmd[2] ); 418 } 419 } 420 421 static void cmd_rename( irc_t *irc, char **cmd ) 457 422 { 458 423 user_t *u; … … 461 426 { 462 427 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 ) ) 466 430 { 467 431 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] ) ) 471 434 { 472 435 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] ) ) ) 476 438 { 477 439 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 intcmd_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 459 static void cmd_remove( irc_t *irc, char **cmd ) 498 460 { 499 461 user_t *u; … … 503 465 { 504 466 irc_usermsg( irc, "Buddy `%s' not found", cmd[1] ); 505 return ( 1 );467 return; 506 468 } 507 469 s = g_strdup( u->handle ); … … 514 476 g_free( s ); 515 477 516 return ( 0 );517 } 518 519 intcmd_block( irc_t *irc, char **cmd )478 return; 479 } 480 481 static void cmd_block( irc_t *irc, char **cmd ) 520 482 { 521 483 struct gaim_connection *gc; … … 528 490 { 529 491 irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] ); 530 return ( 1 );492 return; 531 493 } 532 494 gc = u->gc; … … 536 498 { 537 499 irc_usermsg( irc, "Invalid account" ); 538 return ( 1 );500 return; 539 501 } 540 502 else if( !( ( gc = a->gc ) && ( a->gc->flags & OPT_LOGGED_IN ) ) ) 541 503 { 542 504 irc_usermsg( irc, "That account is not on-line" ); 543 return ( 1 );505 return; 544 506 } 545 507 … … 554 516 irc_usermsg( irc, "Buddy `%s' moved from your permit- to your deny-list", cmd[2] ); 555 517 } 556 557 return( 0 ); 558 } 559 560 int cmd_allow( irc_t *irc, char **cmd ) 518 } 519 520 static void cmd_allow( irc_t *irc, char **cmd ) 561 521 { 562 522 struct gaim_connection *gc; … … 569 529 { 570 530 irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] ); 571 return ( 1 );531 return; 572 532 } 573 533 gc = u->gc; … … 577 537 { 578 538 irc_usermsg( irc, "Invalid account" ); 579 return ( 1 );539 return; 580 540 } 581 541 else if( !( ( gc = a->gc ) && ( a->gc->flags & OPT_LOGGED_IN ) ) ) 582 542 { 583 543 irc_usermsg( irc, "That account is not on-line" ); 584 return ( 1 );544 return; 585 545 } 586 546 … … 596 556 irc_usermsg( irc, "Buddy `%s' moved from your deny- to your permit-list", cmd[2] ); 597 557 } 598 599 return( 0 ); 600 } 601 602 int cmd_yesno( irc_t *irc, char **cmd ) 558 } 559 560 static void cmd_yesno( irc_t *irc, char **cmd ) 603 561 { 604 562 query_t *q = NULL; … … 608 566 { 609 567 irc_usermsg( irc, "Did I ask you something?" ); 610 return ( 0 );568 return; 611 569 } 612 570 … … 618 576 { 619 577 irc_usermsg( irc, "Invalid query number" ); 620 return ( 0 );578 return; 621 579 } 622 580 … … 628 586 { 629 587 irc_usermsg( irc, "Uhm, I never asked you something like that..." ); 630 return ( 0 );588 return; 631 589 } 632 590 } … … 636 594 else if( g_strcasecmp( cmd[0], "no" ) == 0 ) 637 595 query_answer( irc, q, 0 ); 638 639 return( 1 ); 640 } 641 642 int cmd_set( irc_t *irc, char **cmd ) 596 } 597 598 static void cmd_set( irc_t *irc, char **cmd ) 643 599 { 644 600 if( cmd[1] && cmd[2] ) 645 601 { 646 602 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 =)" ); 647 606 } 648 607 if( cmd[1] ) /* else 'forgotten' on purpose.. Must show new value after changing */ … … 662 621 } 663 622 } 664 665 return( 0 ); 666 } 667 668 int cmd_save( irc_t *irc, char **cmd ) 623 } 624 625 static void cmd_save( irc_t *irc, char **cmd ) 669 626 { 670 627 if( storage_save( irc, TRUE ) == STORAGE_OK ) … … 672 629 else 673 630 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 633 static void cmd_blist( irc_t *irc, char **cmd ) 679 634 { 680 635 int online = 0, away = 0, offline = 0; … … 718 673 719 674 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 677 static void cmd_nick( irc_t *irc, char **cmd ) 725 678 { 726 679 account_t *a; … … 754 707 a->gc->prpl->set_info( a->gc, cmd[2] ); 755 708 } 756 757 return( 1 ); 758 } 759 760 int cmd_qlist( irc_t *irc, char **cmd ) 709 } 710 711 static void cmd_qlist( irc_t *irc, char **cmd ) 761 712 { 762 713 query_t *q = irc->queries; … … 766 717 { 767 718 irc_usermsg( irc, "There are no pending questions." ); 768 return ( 0 );719 return; 769 720 } 770 721 … … 776 727 else 777 728 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 731 static void cmd_import_buddies( irc_t *irc, char **cmd ) 783 732 { 784 733 struct gaim_connection *gc; … … 789 738 { 790 739 irc_usermsg( irc, "Invalid account" ); 791 return ( 0 );740 return; 792 741 } 793 742 else if( !( ( gc = a->gc ) && ( a->gc->flags & OPT_LOGGED_IN ) ) ) 794 743 { 795 744 irc_usermsg( irc, "That account is not on-line" ); 796 return ( 0 );745 return; 797 746 } 798 747 … … 815 764 { 816 765 irc_usermsg( irc, "Invalid argument: %s", cmd[2] ); 817 return ( 0 );766 return; 818 767 } 819 768 } … … 829 778 830 779 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 782 const 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.