From ce08e00e2e7bc8abd455c80e6150b97eb82ee4b1 Mon Sep 17 00:00:00 2001 From: Jordan Lee Date: Sun, 6 Feb 2011 18:56:44 +0000 Subject: [PATCH] (trunk libT) #3975 "tr_bencToFile() contains unnecessary calls to stat() and unlink()" -- fixed for win32. remove() doesn't have the same behavior on Windows. On that platform, we should use MoveFileEx( oldpath, newpath, MOVEFILE_REPLACE_EXISTING )." Thanks to rb07 for testing & confirming the fix. --- libtransmission/bencode.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libtransmission/bencode.c b/libtransmission/bencode.c index 280f31cab..30edb373d 100644 --- a/libtransmission/bencode.c +++ b/libtransmission/bencode.c @@ -1707,7 +1707,11 @@ tr_bencToFile( const tr_benc * top, tr_fmt_mode mode, const char * filename ) tr_fsync( fd ); tr_close_file( fd ); +#ifdef WIN32 + if( MoveFileEx( tmp, filename, MOVEFILE_REPLACE_EXISTING ) ) +#else if( !rename( tmp, filename ) ) +#endif { tr_inf( _( "Saved \"%s\"" ), filename ); }