]> git.saurik.com Git - apt.git/blobdiff - methods/copy.cc
allow getaddrinfo flag AI_ADDRCONFIG to be disabled
[apt.git] / methods / copy.cc
index a8e289df57a71495ecace461ab0e85381f2bdcbd..373ad3604b7d8b9cfd29687563ae13866fd73258 100644 (file)
@@ -27,7 +27,7 @@
 
 class CopyMethod : public pkgAcqMethod
 {
-   virtual bool Fetch(FetchItem *Itm);
+   virtual bool Fetch(FetchItem *Itm) APT_OVERRIDE;
    void CalculateHashes(FetchItem const * const Itm, FetchResult &Res);
    
    public:
@@ -38,11 +38,7 @@ class CopyMethod : public pkgAcqMethod
 void CopyMethod::CalculateHashes(FetchItem const * const Itm, FetchResult &Res)
 {
    Hashes Hash(Itm->ExpectedHashes);
-   FileFd::CompressMode CompressMode = FileFd::None;
-   if (_config->FindB("Acquire::GzipIndexes", false) == true)
-      CompressMode = FileFd::Extension;
-
-   FileFd Fd(Res.Filename, FileFd::ReadOnly, CompressMode);
+   FileFd Fd(Res.Filename, FileFd::ReadOnly);
    Hash.AddFD(Fd);
    Res.TakeHashes(Hash);
 }
@@ -53,7 +49,7 @@ void CopyMethod::CalculateHashes(FetchItem const * const Itm, FetchResult &Res)
 bool CopyMethod::Fetch(FetchItem *Itm)
 {
    // this ensures that relative paths work in copy
-   std::string File = Itm->Uri.substr(Itm->Uri.find(':')+1);
+   std::string const File = Itm->Uri.substr(Itm->Uri.find(':')+1);
 
    // Stat the file and send a start message
    struct stat Buf;
@@ -69,7 +65,7 @@ bool CopyMethod::Fetch(FetchItem *Itm)
    URIStart(Res);
 
    // just calc the hashes if the source and destination are identical
-   if (File == Itm->DestFile)
+   if (File == Itm->DestFile || Itm->DestFile == "/dev/null")
    {
       CalculateHashes(Itm, Res);
       URIDone(Res);