From: Jordan Lee Date: Sun, 6 Feb 2011 18:56:44 +0000 (+0000) Subject: (trunk libT) #3975 "tr_bencToFile() contains unnecessary calls to stat() and unlink... X-Git-Tag: 2.20~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ce08e00e2e7bc8abd455c80e6150b97eb82ee4b1;p=transmission (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. --- 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 ); }