]> git.saurik.com Git - apt.git/blobdiff - methods/gzip.cc
* apt-pkg/contrib/fileutl.cc:
[apt.git] / methods / gzip.cc
index 72e3ac90941fa904ca0de1e7d1ad1e73a9d351cf..f1c76066e403810f7cbe4733d1c97aec0249bd1d 100644 (file)
@@ -48,14 +48,11 @@ bool GzipMethod::Fetch(FetchItem *Itm)
    // 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;