fixed issue where file::set_size would update the file modification date even when the size was not changed (fixes #105)
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user