Changeset 823de9d for root_commands.c
- Timestamp:
- 2009-03-12T19:10:06Z (16 years ago)
- Branches:
- master
- Children:
- 673a54c
- Parents:
- 9b55485
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
root_commands.c
r9b55485 r823de9d 132 132 static void cmd_identify( irc_t *irc, char **cmd ) 133 133 { 134 storage_status_t status = storage_load( irc ->nick, cmd[1], irc);134 storage_status_t status = storage_load( irc, cmd[1] ); 135 135 char *account_on[] = { "account", "on", NULL }; 136 136 … … 144 144 case STORAGE_OK: 145 145 irc_usermsg( irc, "Password accepted, settings and accounts loaded" ); 146 irc_setpass( irc, cmd[1] ); 147 irc->status |= USTATUS_IDENTIFIED; 146 148 irc_umode_set( irc, "+R", 1 ); 147 149 if( set_getbool( &irc->set, "auto_connect" ) ) … … 163 165 } 164 166 165 irc_setpass( irc, cmd[1] ); 166 switch( storage_save( irc, FALSE )) { 167 switch( storage_save( irc, cmd[1], FALSE ) ) { 167 168 case STORAGE_ALREADY_EXISTS: 168 169 irc_usermsg( irc, "Nick is already registered" ); … … 171 172 case STORAGE_OK: 172 173 irc_usermsg( irc, "Account successfully created" ); 174 irc_setpass( irc, cmd[1] ); 173 175 irc->status |= USTATUS_IDENTIFIED; 174 176 irc_umode_set( irc, "+R", 1 ); … … 239 241 } 240 242 243 static void cmd_showset( irc_t *irc, set_t **head, char *key ) 244 { 245 char *val; 246 247 if( ( val = set_getstr( head, key ) ) ) 248 irc_usermsg( irc, "%s = `%s'", key, val ); 249 else 250 irc_usermsg( irc, "%s is empty", key ); 251 } 252 241 253 static void cmd_account( irc_t *irc, char **cmd ) 242 254 { … … 450 462 { 451 463 set_t *s = set_find( &a->set, set_name ); 464 int st; 452 465 453 466 if( a->ic && s && s->flags & ACC_SET_OFFLINE_ONLY ) … … 465 478 466 479 if( g_strncasecmp( cmd[2], "-del", 4 ) == 0 ) 467 s et_reset( &a->set, set_name );480 st = set_reset( &a->set, set_name ); 468 481 else 469 set_setstr( &a->set, set_name, cmd[3] ); 470 } 471 if( set_name ) /* else 'forgotten' on purpose.. Must show new value after changing */ 472 { 473 char *s = set_getstr( &a->set, set_name ); 474 if( s ) 475 irc_usermsg( irc, "%s = `%s'", set_name, s ); 482 st = set_setstr( &a->set, set_name, cmd[3] ); 483 484 if( set_getstr( &a->set, set_name ) == NULL ) 485 { 486 if( st ) 487 irc_usermsg( irc, "Setting changed successfully" ); 488 else 489 irc_usermsg( irc, "Failed to change setting" ); 490 } 476 491 else 477 irc_usermsg( irc, "%s is empty", set_name ); 492 { 493 cmd_showset( irc, &a->set, set_name ); 494 } 495 } 496 else if( set_name ) 497 { 498 cmd_showset( irc, &a->set, set_name ); 478 499 } 479 500 else … … 482 503 while( s ) 483 504 { 484 if( s->value || s->def ) 485 irc_usermsg( irc, "%s = `%s'", s->key, s->value ? s->value : s->def ); 486 else 487 irc_usermsg( irc, "%s is empty", s->key ); 505 cmd_showset( irc, &s, s->key ); 488 506 s = s->next; 489 507 } … … 615 633 irc->mynick = g_strdup( cmd[2] ); 616 634 635 /* If we're called internally (user did "set root_nick"), 636 let's not go O(INF). :-) */ 617 637 if( strcmp( cmd[0], "set_rename" ) != 0 ) 618 638 set_setstr( &irc->set, "root_nick", cmd[2] ); … … 638 658 } 639 659 640 return strcmp( irc->mynick, new_nick ) == 0 ? new_nick : NULL;660 return strcmp( irc->mynick, new_nick ) == 0 ? new_nick : SET_INVALID; 641 661 } 642 662 … … 826 846 if( cmd[1] && cmd[2] ) 827 847 { 848 int st; 849 828 850 if( g_strncasecmp( cmd[1], "-del", 4 ) == 0 ) 829 851 { 830 s et_reset( &irc->set, cmd[2] );852 st = set_reset( &irc->set, cmd[2] ); 831 853 set_name = cmd[2]; 832 854 } 833 855 else 834 856 { 835 set_setstr( &irc->set, cmd[1], cmd[2] ); 836 } 837 } 838 if( set_name ) /* else 'forgotten' on purpose.. Must show new value after changing */ 839 { 840 char *s = set_getstr( &irc->set, set_name ); 841 if( s ) 842 irc_usermsg( irc, "%s = `%s'", set_name, s ); 857 st = set_setstr( &irc->set, cmd[1], cmd[2] ); 858 } 859 860 /* Normally we just show the variable's new/unchanged 861 value as feedback to the user, but this has always 862 caused confusion when changing the password. Give 863 other feedback instead: */ 864 if( set_getstr( &irc->set, set_name ) == NULL ) 865 { 866 if( st ) 867 irc_usermsg( irc, "Setting changed successfully" ); 868 else 869 irc_usermsg( irc, "Failed to change setting" ); 870 } 843 871 else 844 irc_usermsg( irc, "%s is empty", set_name ); 872 { 873 cmd_showset( irc, &irc->set, set_name ); 874 } 875 } 876 else if( set_name ) 877 { 878 cmd_showset( irc, &irc->set, set_name ); 845 879 846 880 if( strchr( set_name, '/' ) ) … … 852 886 while( s ) 853 887 { 854 if( s->value || s->def ) 855 irc_usermsg( irc, "%s = `%s'", s->key, s->value ? s->value : s->def ); 856 else 857 irc_usermsg( irc, "%s is empty", s->key ); 888 cmd_showset( irc, &s, s->key ); 858 889 s = s->next; 859 890 } … … 863 894 static void cmd_save( irc_t *irc, char **cmd ) 864 895 { 865 if( storage_save( irc, TRUE ) == STORAGE_OK ) 896 if( ( irc->status & USTATUS_IDENTIFIED ) == 0 ) 897 irc_usermsg( irc, "Please create an account first" ); 898 else if( storage_save( irc, NULL, TRUE ) == STORAGE_OK ) 866 899 irc_usermsg( irc, "Configuration saved" ); 867 900 else
Note: See TracChangeset
for help on using the changeset viewer.