diff --git a/daemon/daemon.c b/daemon/daemon.c index 9dc74c7e7..a630429f9 100644 --- a/daemon/daemon.c +++ b/daemon/daemon.c @@ -71,6 +71,9 @@ replaceStr( tr_benc * dict, const char * key, const char* value ) static void saveState( tr_session * s ) { + int i, n = 0; + char * strs[4]; + tr_benc d; if( tr_bencLoadJSONFile( myConfigFilename, &d ) ) tr_bencInitDict( &d, 16 ); @@ -81,9 +84,9 @@ saveState( tr_session * s ) replaceInt( &d, KEY_PEER_PORT, tr_sessionGetPeerPort( s ) ); replaceInt( &d, KEY_PORT_FORWARDING, tr_sessionIsPortForwardingEnabled( s ) ); replaceInt( &d, KEY_PEX_ENABLED, tr_sessionIsPexEnabled( s ) ); - replaceStr( &d, KEY_USERNAME, tr_sessionGetRPCUsername( s ) ); - replaceStr( &d, KEY_PASSWORD, tr_sessionGetRPCPassword( s ) ); - replaceStr( &d, KEY_ACL, tr_sessionGetRPCACL( s ) ); + replaceStr( &d, KEY_USERNAME, strs[n++] = tr_sessionGetRPCUsername( s ) ); + replaceStr( &d, KEY_PASSWORD, strs[n++] = tr_sessionGetRPCPassword( s ) ); + replaceStr( &d, KEY_ACL, strs[n++] = tr_sessionGetRPCACL( s ) ); replaceInt( &d, KEY_RPC_PORT, tr_sessionGetRPCPort( s ) ); replaceInt( &d, KEY_AUTH_REQUIRED, tr_sessionIsRPCPasswordEnabled( s ) ); replaceInt( &d, KEY_DSPEED, tr_sessionGetSpeedLimit( s, TR_DOWN ) ); @@ -95,6 +98,9 @@ saveState( tr_session * s ) tr_bencSaveJSONFile( myConfigFilename, &d ); tr_bencFree( &d ); tr_ninf( MY_NAME, "saved \"%s\"", myConfigFilename ); + + for( i=0; i