Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • conf.c

    reeb85a8 r8961950  
    3636#include "proxy.h"
    3737
     38char *CONF_FILE;
     39
    3840static int conf_loadini( conf_t *conf, char *file );
    3941
     
    4143{
    4244        conf_t *conf;
    43         int opt, i, config_missing = 0;
     45        int opt, i;
    4446       
    4547        conf = g_new0( conf_t, 1 );
     
    5961        conf->pidfile = g_strdup( PIDFILE );
    6062        conf->motdfile = g_strdup( ETCDIR "/motd.txt" );
     63        conf->welcomefile = g_strdup( ETCDIR "/welcome.txt" );
    6164        conf->ping_interval = 180;
    6265        conf->ping_timeout = 300;
     
    6467        proxytype = 0;
    6568       
    66         i = conf_loadini( conf, global.conf_file );
     69        i = conf_loadini( conf, CONF_FILE );
    6770        if( i == 0 )
    6871        {
    69                 fprintf( stderr, "Error: Syntax error in configuration file `%s'.\n", global.conf_file );
    70                 return NULL;
     72                fprintf( stderr, "Error: Syntax error in configuration file `%s'.\n", CONF_FILE );
     73                return( NULL );
    7174        }
    7275        else if( i == -1 )
    7376        {
    74                 config_missing ++;
    75                 /* Whine after parsing the options if there was no -c pointing
    76                    at a *valid* configuration file. */
     77                fprintf( stderr, "Warning: Unable to read configuration file `%s'.\n", CONF_FILE );
    7778        }
    7879       
     
    106107                else if( opt == 'c' )
    107108                {
    108                         if( strcmp( global.conf_file, optarg ) != 0 )
    109                         {
    110                                 g_free( global.conf_file );
    111                                 global.conf_file = g_strdup( optarg );
     109                        if( strcmp( CONF_FILE, optarg ) != 0 )
     110                        {
     111                                g_free( CONF_FILE );
     112                                CONF_FILE = g_strdup( optarg );
    112113                                g_free( conf );
    113114                                /* Re-evaluate arguments. Don't use this option twice,
     
    115116                                   works with all libcs BTW.. */
    116117                                optind = 1;
    117                                 return conf_load( argc, argv );
     118                                return( conf_load( argc, argv ) );
    118119                        }
    119120                }
     
    143144                                "  -d  Specify alternative user configuration directory\n"
    144145                                "  -h  Show this help page.\n" );
    145                         return NULL;
     146                        return( NULL );
    146147                }
    147148                else if( opt == 'R' )
     
    169170        }
    170171       
    171         if( config_missing )
    172                 fprintf( stderr, "Warning: Unable to read configuration file `%s'.\n", global.conf_file );
    173        
    174         return conf;
     172        return( conf );
    175173}
    176174
     
    181179       
    182180        ini = ini_open( file );
    183         if( ini == NULL ) return -1;
     181        if( ini == NULL ) return( -1 );
    184182        while( ini_read( ini ) )
    185183        {
     
    244242                                conf->motdfile = g_strdup( ini->value );
    245243                        }
     244                        else if( g_strcasecmp( ini->key, "welcomefile" ) == 0 )
     245                        {
     246                                g_free( conf->welcomefile );
     247                                conf->welcomefile = g_strdup( ini->value );
     248                        }
    246249                        else if( g_strcasecmp( ini->key, "account_storage" ) == 0 )
    247250                        {
     
    259262                                {
    260263                                        fprintf( stderr, "Invalid %s value: %s\n", ini->key, ini->value );
    261                                         return 0;
     264                                        return( 0 );
    262265                                }
    263266                                conf->ping_interval = i;
     
    268271                                {
    269272                                        fprintf( stderr, "Invalid %s value: %s\n", ini->key, ini->value );
    270                                         return 0;
     273                                        return( 0 );
    271274                                }
    272275                                conf->ping_timeout = i;
     
    280283                                        fprintf( stderr, "Invalid %s value: %s\n", ini->key, ini->value );
    281284                                        g_free( url );
    282                                         return 0;
     285                                        return( 0 );
    283286                                }
    284287                               
     
    304307                        {
    305308                                fprintf( stderr, "Error: Unknown setting `%s` in configuration file.\n", ini->key );
    306                                 return 0;
     309                                return( 0 );
    307310                                /* For now just ignore unknown keys... */
    308311                        }
     
    312315                        fprintf( stderr, "Error: Unknown section [%s] in configuration file. "
    313316                                         "BitlBee configuration must be put in a [settings] section!\n", ini->section );
    314                         return 0;
     317                        return( 0 );
    315318                }
    316319        }
    317320        ini_close( ini );
    318321       
    319         return 1;
     322        return( 1 );
    320323}
    321324
     
    324327        ini_t *ini;
    325328       
    326         ini = ini_open( global.conf_file );
     329        ini = ini_open( CONF_FILE );
    327330        if( ini == NULL ) return;
    328331        while( ini_read( ini ) )
Note: See TracChangeset for help on using the changeset viewer.