X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/8561c2fedae26aecd8ba758a5e7ef686ba1243f3..7c1177f6b82aaaf3b7d378ef516b7ccbd47ec07b:/cmdline/apt-get.cc diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 5002ec1b8..95d88e2ad 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -248,8 +248,9 @@ static bool DoIndexTargets(CommandLine &CmdL) { pkgCacheFile CacheFile; pkgSourceList *SrcList = CacheFile.GetSourceList(); + pkgCache *Cache = CacheFile.GetPkgCache(); - if (SrcList == NULL) + if (SrcList == nullptr || Cache == nullptr) return false; std::string const Format = _config->Find("APT::Get::IndexTargets::Format"); @@ -262,8 +263,7 @@ static bool DoIndexTargets(CommandLine &CmdL) if (ReleaseInfo) { AddOptions.insert(std::make_pair("TRUSTED", ((*S)->IsTrusted() ? "yes" : "no"))); - pkgCache &Cache = *CacheFile.GetPkgCache(); - pkgCache::RlsFileIterator const RlsFile = (*S)->FindInCache(Cache, false); + pkgCache::RlsFileIterator const RlsFile = (*S)->FindInCache(*Cache, false); if (RlsFile.end()) continue; #define APT_RELEASE(X,Y) if (RlsFile.Y() != NULL) AddOptions.insert(std::make_pair(X, RlsFile.Y())) @@ -299,6 +299,8 @@ static bool DoIndexTargets(CommandLine &CmdL) stanza << "PDiffs: " << O->second << "\n"; else if (O->first == "COMPRESSIONTYPES") stanza << "CompressionTypes: " << O->second << "\n"; + else if (O->first == "KEEPCOMPRESSEDAS") + stanza << "KeepCompressedAs: " << O->second << "\n"; else if (O->first == "DEFAULTENABLED") stanza << "DefaultEnabled: " << O->second << "\n"; else @@ -343,7 +345,7 @@ static bool DoIndexTargets(CommandLine &CmdL) return true; } /*}}}*/ -bool ShowHelp(CommandLine &) /*{{{*/ +static bool ShowHelp(CommandLine &) /*{{{*/ { if (_config->FindB("version") == true) { @@ -399,7 +401,7 @@ bool ShowHelp(CommandLine &) /*{{{*/ return true; } /*}}}*/ -std::vector GetCommands() /*{{{*/ +static std::vector GetCommands() /*{{{*/ { return { {"update", &DoUpdate, _("Retrieve new lists of packages")}, @@ -430,11 +432,9 @@ std::vector GetCommands() /*{{{*/ /*}}}*/ int main(int argc,const char *argv[]) /*{{{*/ { - InitLocale(); - // Parse the command line and initialize the package library CommandLine CmdL; - auto const Cmds = ParseCommandLine(CmdL, APT_CMD::APT_GET, &_config, &_system, argc, argv); + auto const Cmds = ParseCommandLine(CmdL, APT_CMD::APT_GET, &_config, &_system, argc, argv, &ShowHelp, &GetCommands); InitSignals(); InitOutput();