(trunk) add a log message telling the user which configDir is being used and whether or not its settings.json was used

This commit is contained in:
Charles Kerr 2010-01-12 16:43:37 +00:00
parent 90c6b3bc6e
commit 5decc9ffb1
3 changed files with 16 additions and 5 deletions

View File

@ -278,6 +278,7 @@ main( int argc, char ** argv )
const char * optarg;
tr_benc settings;
tr_bool boolVal;
tr_bool loaded;
tr_bool foreground = FALSE;
tr_bool dumpSettings = FALSE;
const char * configDir = NULL;
@ -292,7 +293,7 @@ main( int argc, char ** argv )
/* load settings from defaults + config file */
tr_bencInitDict( &settings, 0 );
configDir = getConfigDir( argc, (const char**)argv );
tr_sessionLoadSettings( &settings, configDir, MY_NAME );
loaded = tr_sessionLoadSettings( &settings, configDir, MY_NAME );
tr_bencDictAddBool( &settings, TR_PREFS_KEY_RPC_ENABLED, TRUE );
/* overwrite settings from the comamndline */
@ -380,6 +381,12 @@ main( int argc, char ** argv )
/* start the session */
mySession = tr_sessionInit( "daemon", configDir, TRUE, &settings );
if( loaded )
tr_ninf( NULL, "Using settings from \"%s\"", configDir );
else
tr_nerr( NULL, "Couldn't find settings in \"%s\"; using defaults", configDir );
tr_sessionSaveSettings( mySession, configDir, &settings );
if( tr_bencDictFindBool( &settings, TR_PREFS_KEY_RPC_AUTH_REQUIRED, &boolVal ) && boolVal )

View File

@ -392,13 +392,14 @@ tr_sessionGetSettings( tr_session * s, struct tr_benc * d )
tr_bencDictAddStr ( d, TR_PREFS_KEY_BIND_ADDRESS_IPV6, tr_ntop_non_ts( &s->public_ipv6->addr ) );
}
void
tr_bool
tr_sessionLoadSettings( tr_benc * d, const char * configDir, const char * appName )
{
char * filename;
tr_benc fileSettings;
tr_benc sessionDefaults;
tr_benc tmp;
tr_bool success = FALSE;
assert( tr_bencIsDict( d ) );
@ -418,11 +419,13 @@ tr_sessionLoadSettings( tr_benc * d, const char * configDir, const char * appNam
if( !tr_bencLoadFile( &fileSettings, TR_FMT_JSON, filename ) ) {
tr_bencMergeDicts( d, &fileSettings );
tr_bencFree( &fileSettings );
success = TRUE;
}
/* cleanup */
tr_bencFree( &sessionDefaults );
tr_free( filename );
return success;
}
void

View File

@ -249,13 +249,14 @@ void tr_sessionGetSettings( tr_session *, struct tr_benc * dictionary );
* @param dictionary pointer to an uninitialized tr_benc
* @param configDir the configuration directory to find settings.json
* @param appName if configDir is empty, appName is used to find the default dir.
* @return success TRUE if the settings were loaded, FALSE otherwise
* @see tr_sessionGetDefaultSettings()
* @see tr_sessionInit()
* @see tr_sessionSaveSettings()
*/
void tr_sessionLoadSettings( struct tr_benc * dictionary,
const char * configDir,
const char * appName );
tr_bool tr_sessionLoadSettings( struct tr_benc * dictionary,
const char * configDir,
const char * appName );
/**
* Add the session's configuration settings to the benc dictionary