Locally patch libtorrent so it doesn't change files timestamps on each restart

of seeding torrents. See ticket #105 in libtorrent's trac for more details.
This commit is contained in:
Alex Dedul 2007-08-07 23:53:45 +00:00
parent 71e3e6ea32
commit ff4dad534f
1 changed files with 11 additions and 5 deletions

View File

@ -248,11 +248,17 @@ namespace libtorrent
void set_size(size_type s) void set_size(size_type s)
{ {
size_type pos = tell(); size_type pos = tell();
// Only set size if current file size not equals s.
// 2 as "m" argument is to be sure seek() sets SEEK_END on
// all compilers.
if(s != seek(0, 2))
{
seek(s - 1); seek(s - 1);
char dummy = 0; char dummy = 0;
read(&dummy, 1); read(&dummy, 1);
seek(s - 1); seek(s - 1);
write(&dummy, 1); write(&dummy, 1);
}
seek(pos); seek(pos);
} }