- // Open the source and destintation files
- FileFd From(Path,FileFd::ReadOnly);
- FileFd To(Itm->DestFile,FileFd::WriteEmpty);
+ // Open the source and destination files
+ FileFd From(Path,FileFd::ReadOnlyGzip);
+
+ if(From.FileSize() == 0)
+ return _error->Error(_("Empty files can't be valid archives"));
+
+ FileFd To(Itm->DestFile,FileFd::WriteAtomic);