]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/acquire-item.cc
Advanced documentation for 'apt-get install' command, mentioned upgrading possibility.
[apt.git] / apt-pkg / acquire-item.cc
index b014092dfabc7fa59cb9b485e67d2a4b00743f1f..ae8ff220594e311bc0909f9a8f50a7cfb5c4e48a 100644 (file)
@@ -568,9 +568,9 @@ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner,
       else 
         CompressionExtension = ".gz";
    } else {
-      CompressionExtension = comprExt;
+      CompressionExtension = (comprExt == "plain" ? "" : comprExt);
    }
-   Desc.URI = URI + (CompressionExtension == "plain" ? "" : CompressionExtension); 
+   Desc.URI = URI + CompressionExtension;
 
    Desc.Description = URIDesc;
    Desc.Owner = this;
@@ -711,13 +711,14 @@ void pkgAcqIndex::Done(string Message,unsigned long Size,string Hash,
    else
       Local = true;
    
-   string compExt = Desc.URI.substr(Desc.URI.size()-3);
+   string compExt = flExtension(flNotDir(URI(Desc.URI).Path));
    const char *decompProg;
    if(compExt == "bz2") 
       decompProg = "bzip2";
-   else if(compExt == ".gz") 
+   else if(compExt == "gz") 
       decompProg = "gzip";
-   else if(compExt == "ges" || compExt == "ces") // packaGES or sourCES
+   // flExtensions returns the full name if no extension is found
+   else if(compExt == flNotDir(URI(Desc.URI).Path))
       decompProg = "copy";
    else {
       _error->Error("Unsupported extension: %s", compExt.c_str());