]> git.saurik.com Git - apt.git/commitdiff
Fix handling of autoclosing for compressed files (Closes: #741685)
authorJulian Andres Klode <jak@debian.org>
Sat, 15 Mar 2014 16:59:47 +0000 (17:59 +0100)
committerJulian Andres Klode <jak@debian.org>
Sat, 15 Mar 2014 17:03:42 +0000 (18:03 +0100)
AutoClose is both an argument in OpenDescriptor() and an enum. In
commit 84baaae93badc2da7c1f4f356456762895cef278 code using the AutoClose
parameter was moved to OpenDescriptorInternal(). In that function,
AutoClose meant the enum value, so the check was always false.

apt-pkg/contrib/fileutl.cc

index 1eabf37f4e5906f74ad4673a5f6bb859a0dae01d..ba79720d803e01ce7dc28836bf8fdea3ee3dc845 100644 (file)
@@ -1191,7 +1191,7 @@ bool FileFd::OpenInternDescriptor(unsigned int const Mode, APT::Configuration::C
       d->openmode = Mode;
       d->compressor = compressor;
 #if defined HAVE_ZLIB || defined HAVE_BZ2 || defined HAVE_LZMA
-      if (AutoClose == false && compress_open != NULL)
+      if ((Flags & AutoClose) != AutoClose && compress_open != NULL)
       {
         // Need to duplicate fd here or gz/bz2 close for cleanup will close the fd as well
         int const internFd = dup(iFd);