- // Open the source and destintation files
- FileFd From(Get.Path,FileFd::ReadOnly);
- FileFd To(DestFile,FileFd::WriteEmpty);
+ URI Get = Itm->Uri;
+ string Path = Get.Host + Get.Path; // To account for relative paths
+
+ FetchResult Res;
+ Res.Filename = Itm->DestFile;
+ URIStart(Res);
+
+ // Open the source and destination files
+ FileFd From(Path,FileFd::ReadOnlyGzip);
+
+ // 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::WriteAtomic);