summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hartwig <mandyke@gmail.com>2012-03-27 16:42:50 +0800
committerDaniel Hartwig <mandyke@gmail.com>2012-03-27 16:42:50 +0800
commit0de15d45b6d4b8750f192f626dac2e17c2abd3bd (patch)
tree95a399bf4f241af50178ce8494e4b6c2c9cf1565
parente1772941b9bd291ec8f71eab4ae9080e127308cc (diff)
downloadaptitude-0de15d45b6d4b8750f192f626dac2e17c2abd3bd.tar.gz
?architecture generates match titles
-rw-r--r--src/generic/apt/matching/match.cc33
1 files changed, 21 insertions, 12 deletions
diff --git a/src/generic/apt/matching/match.cc b/src/generic/apt/matching/match.cc
index 9556aee0..44430ab7 100644
--- a/src/generic/apt/matching/match.cc
+++ b/src/generic/apt/matching/match.cc
@@ -907,8 +907,9 @@ namespace aptitude
{
pkgCache::VerIterator ver(target.get_version_iterator(cache));
- if(p->get_architecture_architecture() == ver.Arch())
- return match::make_atomic(p);
+ if(p->get_architecture_architecture().empty() == true ||
+ p->get_architecture_architecture() == ver.Arch())
+ return match::make_atomic(p, ver.Arch());
else
return NULL;
}
@@ -1163,12 +1164,16 @@ namespace aptitude
break;
case pattern::foreign_architecture:
- if(target.get_has_version() &&
- aptitude::apt::is_foreign_arch(target.get_version_iterator(cache)))
- return match::make_atomic(p);
- else
+ if(!target.get_has_version())
return NULL;
- break;
+
+ {
+ pkgCache::VerIterator ver(target.get_version_iterator(cache));
+ if(aptitude::apt::is_foreign_arch(ver))
+ return match::make_atomic(p, ver.Arch());
+ else
+ return NULL;
+ }
case pattern::garbage:
if(!target.get_has_version())
@@ -1250,12 +1255,16 @@ namespace aptitude
break;
case pattern::native_architecture:
- if(target.get_has_version() &&
- aptitude::apt::is_native_arch(target.get_version_iterator(cache)))
- return match::make_atomic(p);
- else
+ if(!target.get_has_version())
return NULL;
- break;
+
+ {
+ pkgCache::VerIterator ver(target.get_version_iterator(cache));
+ if(aptitude::apt::is_native_arch(ver))
+ return match::make_atomic(p, ver.Arch());
+ else
+ return NULL;
+ }
case pattern::new_tp:
if(!target.get_has_version())