Changeset 7125cb3 for protocols


Ignore:
Timestamp:
2008-08-24T18:01:05Z (13 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
f3579fd
Parents:
934dddf3
Message:

Added SET_INVALID, which set evaluators should now return instead of NULL
when the given value is not accepted. This to allow certain variables
actually be set to NULL (server, for example). This should fully close
#444.

Location:
protocols
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • protocols/jabber/jabber.c

    r934dddf3 r7125cb3  
    7070       
    7171        s = set_add( &acc->set, "server", NULL, set_eval_account, acc );
    72         s->flags |= ACC_SET_NOSAVE | ACC_SET_OFFLINE_ONLY;
     72        s->flags |= ACC_SET_NOSAVE | ACC_SET_OFFLINE_ONLY | SET_NULL_OK;
    7373       
    7474        s = set_add( &acc->set, "ssl", "false", set_eval_bool, acc );
  • protocols/jabber/jabber_util.c

    r934dddf3 r7125cb3  
    3737                /* Priority is a signed 8-bit integer, according to RFC 3921. */
    3838                if( i < -128 || i > 127 )
    39                         return NULL;
     39                        return SET_INVALID;
    4040        }
    4141        else
    42                 return NULL;
     42                return SET_INVALID;
    4343       
    4444        /* Only run this stuff if the account is online ATM,
  • protocols/nogaim.c

    r934dddf3 r7125cb3  
    928928        int st;
    929929       
    930         if( ( g_strcasecmp( value, "true" ) == 0 ) || ( g_strcasecmp( value, "yes" ) == 0 ) || ( g_strcasecmp( value, "on" ) == 0 ) )
    931                 st = 1;
    932         else if( ( g_strcasecmp( value, "false" ) == 0 ) || ( g_strcasecmp( value, "no" ) == 0 ) || ( g_strcasecmp( value, "off" ) == 0 ) )
    933                 st = 0;
    934         else if( sscanf( value, "%d", &st ) != 1 )
    935                 return( NULL );
    936        
    937         st = st != 0;
     930        if( !is_bool( value ) )
     931                return SET_INVALID;
     932       
     933        st = bool2int( value );
    938934       
    939935        /* Horror.... */
     
    979975        }
    980976       
    981         return( set_eval_bool( set, value ) );
     977        return value;
    982978}
    983979
Note: See TracChangeset for help on using the changeset viewer.