I have found that this problem is caused by not using TR_PREFS_KEY_TRASH_ORIGINAL key in daemon.c
Code: Select all
static void
onFileAdded( tr_session * session, const char * dir, const char * file )
{
char * filename = tr_buildPath( dir, file, NULL );
tr_ctor * ctor = tr_ctorNew( session );
int err = tr_ctorSetMetainfoFromFile( ctor, filename );
if( !err )
{
tr_torrentNew( ctor, &err );
if( err == TR_PARSE_ERR )
tr_err( "Error parsing .torrent file \"%s\"", file );
else
{
bool trash = false;
int test = tr_ctorGetDeleteSource( ctor, &trash );
tr_inf( "Parsing .torrent file successful \"%s\"", file );
if( !test && trash )
{
tr_inf( "Deleting input .torrent file \"%s\"", file );
if( remove( filename ) )
tr_err( "Error deleting .torrent file: %s", tr_strerror( errno ) );
}
else
{
char * new_filename = tr_strdup_printf( "%s.added", filename );
rename( filename, new_filename );
tr_free( new_filename );
}
}
}
tr_ctorFree( ctor );
tr_free( filename );
}