Changeset 823de9d for root_commands.c


Ignore:
Timestamp:
2009-03-12T19:10:06Z (15 years ago)
Author:
Sven Moritz Hallberg <pesco@…>
Branches:
master
Children:
673a54c
Parents:
9b55485
Message:

commit updates by ashish shukla <wahjava@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • root_commands.c

    r9b55485 r823de9d  
    132132static void cmd_identify( irc_t *irc, char **cmd )
    133133{
    134         storage_status_t status = storage_load( irc->nick, cmd[1], irc );
     134        storage_status_t status = storage_load( irc, cmd[1] );
    135135        char *account_on[] = { "account", "on", NULL };
    136136       
     
    144144        case STORAGE_OK:
    145145                irc_usermsg( irc, "Password accepted, settings and accounts loaded" );
     146                irc_setpass( irc, cmd[1] );
     147                irc->status |= USTATUS_IDENTIFIED;
    146148                irc_umode_set( irc, "+R", 1 );
    147149                if( set_getbool( &irc->set, "auto_connect" ) )
     
    163165        }
    164166
    165         irc_setpass( irc, cmd[1] );
    166         switch( storage_save( irc, FALSE )) {
     167        switch( storage_save( irc, cmd[1], FALSE ) ) {
    167168                case STORAGE_ALREADY_EXISTS:
    168169                        irc_usermsg( irc, "Nick is already registered" );
     
    171172                case STORAGE_OK:
    172173                        irc_usermsg( irc, "Account successfully created" );
     174                        irc_setpass( irc, cmd[1] );
    173175                        irc->status |= USTATUS_IDENTIFIED;
    174176                        irc_umode_set( irc, "+R", 1 );
     
    239241}
    240242
     243static 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
    241253static void cmd_account( irc_t *irc, char **cmd )
    242254{
     
    450462                {
    451463                        set_t *s = set_find( &a->set, set_name );
     464                        int st;
    452465                       
    453466                        if( a->ic && s && s->flags & ACC_SET_OFFLINE_ONLY )
     
    465478                       
    466479                        if( g_strncasecmp( cmd[2], "-del", 4 ) == 0 )
    467                                 set_reset( &a->set, set_name );
     480                                st = set_reset( &a->set, set_name );
    468481                        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                        }
    476491                        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 );
    478499                }
    479500                else
     
    482503                        while( s )
    483504                        {
    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 );
    488506                                s = s->next;
    489507                        }
     
    615633                        irc->mynick = g_strdup( cmd[2] );
    616634                       
     635                        /* If we're called internally (user did "set root_nick"),
     636                           let's not go O(INF). :-) */
    617637                        if( strcmp( cmd[0], "set_rename" ) != 0 )
    618638                                set_setstr( &irc->set, "root_nick", cmd[2] );
     
    638658        }
    639659       
    640         return strcmp( irc->mynick, new_nick ) == 0 ? new_nick : NULL;
     660        return strcmp( irc->mynick, new_nick ) == 0 ? new_nick : SET_INVALID;
    641661}
    642662
     
    826846        if( cmd[1] && cmd[2] )
    827847        {
     848                int st;
     849               
    828850                if( g_strncasecmp( cmd[1], "-del", 4 ) == 0 )
    829851                {
    830                         set_reset( &irc->set, cmd[2] );
     852                        st = set_reset( &irc->set, cmd[2] );
    831853                        set_name = cmd[2];
    832854                }
    833855                else
    834856                {
    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                }
    843871                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 );
    845879
    846880                if( strchr( set_name, '/' ) )
     
    852886                while( s )
    853887                {
    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 );
    858889                        s = s->next;
    859890                }
     
    863894static void cmd_save( irc_t *irc, char **cmd )
    864895{
    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 )
    866899                irc_usermsg( irc, "Configuration saved" );
    867900        else
Note: See TracChangeset for help on using the changeset viewer.