string OrigPath = string(*I,CDROM.length());
// Open the package file
- FileFd Pkg(*I + GetFileName(), FileFd::ReadOnly, FileFd::Extension);
+ FileFd Pkg(*I + GetFileName(), FileFd::ReadOnly, FileFd::Auto);
off_t const FileSize = Pkg.Size();
pkgTagFile Parser(&Pkg);
string OrigPath = string(*I,CDROM.length());
// Open the package file
- FileFd Pkg(*I, FileFd::ReadOnly, FileFd::Extension);
+ FileFd Pkg(*I, FileFd::ReadOnly, FileFd::Auto);
off_t const FileSize = Pkg.Size();
pkgTagFile Parser(&Pkg);
(*I).c_str() + CDROM.length());
string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
TargetF += URItoFileName(S);
+ FileFd Target;
if (_config->FindB("APT::CDROM::NoAct",false) == true)
+ {
TargetF = "/dev/null";
- FileFd Target(TargetF,FileFd::WriteAtomic);
+ Target.Open(TargetF,FileFd::WriteExists);
+ } else {
+ Target.Open(TargetF,FileFd::WriteAtomic);
+ }
FILE *TargetFl = fdopen(dup(Target.Fd()),"w");
if (_error->PendingError() == true)
return false;