summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2015-12-27 02:19:20 +0100
committerJulian Andres Klode <jak@debian.org>2015-12-27 02:25:49 +0100
commit0e0bff781d58a2b02c5b812fc9acd929a07105a9 (patch)
treed824af9b2e2aed08d03d851075075c4b34914047
parente9185eca390435b4060ef26c7c69d39f994da7a7 (diff)
downloadapt-0e0bff781d58a2b02c5b812fc9acd929a07105a9.tar.gz
debListParser: ParseDepends: Only query native arch if needed
This makes the code parsing architecture lists slower, but on the other hand, improves the more generic case of reading dependencies from Packages files.
-rw-r--r--apt-pkg/deb/deblistparser.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index f3ab9d5d8..85bddcd10 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -562,8 +562,8 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
Package.assign(Start,I - Start);
// We don't want to confuse library users which can't handle MultiArch
- string const arch = _config->Find("APT::Architecture");
if (StripMultiArch == true) {
+ string const arch = _config->Find("APT::Architecture");
size_t const found = Package.rfind(':');
if (found != string::npos &&
(strcmp(Package.c_str() + found, ":any") == 0 ||
@@ -609,6 +609,7 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
if (ParseArchFlags == true)
{
+ string const arch = _config->Find("APT::Architecture");
APT::CacheFilter::PackageArchitectureMatchesSpecification matchesArch(arch, false);
// Parse an architecture