X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/d03b947b0ce4f87d7d5cc48d4d274ab3bd0b289a..f932bccbf7f8e8c06cb978e9a9b722d1b583c358:/apt-pkg/indexfile.cc diff --git a/apt-pkg/indexfile.cc b/apt-pkg/indexfile.cc index b1435d32c..21765388f 100644 --- a/apt-pkg/indexfile.cc +++ b/apt-pkg/indexfile.cc @@ -151,7 +151,13 @@ std::string IndexTarget::Option(OptionKeys const EnumKey) const /*{{{*/ APT_CASE(ALLOW_WEAK); APT_CASE(ALLOW_DOWNGRADE_TO_INSECURE); #undef APT_CASE - case FILENAME: return _config->FindDir("Dir::State::lists") + URItoFileName(URI); + case FILENAME: + { + auto const M = Options.find("FILENAME"); + if (M == Options.end()) + return _config->FindDir("Dir::State::lists") + URItoFileName(URI); + return M->second; + } case EXISTING_FILENAME: std::string const filename = Option(FILENAME); std::vector const types = VectorizeString(Option(COMPRESSIONTYPES), ' '); @@ -338,6 +344,7 @@ pkgCacheListParser * pkgDebianIndexFile::CreateListParser(FileFd &Pkg) if (newError) { delete Parser; + _error->ReturnError(); return nullptr; } else