summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Hartwig <mandyke@gmail.com>2012-03-22 21:11:54 +0800
committerDaniel Hartwig <mandyke@gmail.com>2012-03-22 21:11:54 +0800
commitba46e3aa1161456ecd994727bdc8957ad8b7f013 (patch)
tree35d2d5f8a67f5c66398ca530dffdf8b931e1e6e2 /src
parentcec9f33bc38d82c65cfd11673d0a22fb4a55513b (diff)
downloadaptitude-ba46e3aa1161456ecd994727bdc8957ad8b7f013.tar.gz
Drop regex support from ?architecture
Diffstat (limited to 'src')
-rw-r--r--src/generic/apt/matching/compare_patterns.cc3
-rw-r--r--src/generic/apt/matching/match.cc14
-rw-r--r--src/generic/apt/matching/pattern.h10
-rw-r--r--src/generic/apt/matching/serialize.cc4
4 files changed, 13 insertions, 18 deletions
diff --git a/src/generic/apt/matching/compare_patterns.cc b/src/generic/apt/matching/compare_patterns.cc
index c68bbc04..7e5159ef 100644
--- a/src/generic/apt/matching/compare_patterns.cc
+++ b/src/generic/apt/matching/compare_patterns.cc
@@ -99,8 +99,7 @@ namespace aptitude
p2->get_any_version_pattern());
case pattern::architecture:
- return compare_regex_info(p1->get_architecture_regex_info(),
- p2->get_architecture_regex_info());
+ return p1->get_architecture_architecture().compare(p2->get_architecture_architecture());
case pattern::automatic:
return 0;
diff --git a/src/generic/apt/matching/match.cc b/src/generic/apt/matching/match.cc
index 435ca51e..4ca70b6c 100644
--- a/src/generic/apt/matching/match.cc
+++ b/src/generic/apt/matching/match.cc
@@ -903,16 +903,10 @@ namespace aptitude
{
pkgCache::VerIterator ver(target.get_version_iterator(cache));
-
- ref_ptr<match> m = evaluate_regexp(p,
- p->get_architecture_regex_info(),
- ver.Arch(),
- debug);
-
- if(m.valid())
- return m;
- else
- return NULL;
+ if(p->get_architecture_architecture() == ver.Arch())
+ return match::make_atomic(p);
+ else
+ return NULL;
}
break;
diff --git a/src/generic/apt/matching/pattern.h b/src/generic/apt/matching/pattern.h
index f5cd142c..5aad42f8 100644
--- a/src/generic/apt/matching/pattern.h
+++ b/src/generic/apt/matching/pattern.h
@@ -907,19 +907,19 @@ namespace aptitude
/** \brief Create an ?architecture term.
*
- * \param s The regular expression to match against.
+ * \param arch The architecture to match.
*/
static cwidget::util::ref_ptr<pattern>
- make_architecture(const std::string &s)
+ make_architecture(const std::string &arch)
{
- return new pattern(architecture, regex_info(s));
+ return new pattern(architecture, arch);
}
- const regex_info &get_architecture_regex_info() const
+ const std::string &get_architecture_architecture() const
{
eassert(tp == architecture);
- return regex_information;
+ return string_info;
}
// @}
diff --git a/src/generic/apt/matching/serialize.cc b/src/generic/apt/matching/serialize.cc
index 8bd7c1b0..428bc30c 100644
--- a/src/generic/apt/matching/serialize.cc
+++ b/src/generic/apt/matching/serialize.cc
@@ -253,7 +253,9 @@ namespace aptitude
break;
case pattern::architecture:
- serialize_regexp_term("architecture", p->get_architecture_regex_info(), out);
+ out << "?architecture(";
+ serialize_string(p->get_architecture_architecture(), out);
+ out.put(')');
break;
case pattern::automatic: