// Open the source and destination files
FileFd From(Path,FileFd::ReadOnlyGzip);
- // if the file is empty, just rename it and return
- if(From.Size() == 0)
- {
- rename(Path.c_str(), Itm->DestFile.c_str());
- return true;
- }
+ // FIXME add an error message saying that empty files can't be valid archives
+ if(From.FileSize() == 0)
+ return false;
- FileFd To(Itm->DestFile,FileFd::WriteEmpty);
+ FileFd To(Itm->DestFile,FileFd::WriteAtomic);
To.EraseOnFailure();
if (_error->PendingError() == true)
return false;