From 6273f167cb14e5334bba0cc3cc2657091bdae0c3 Mon Sep 17 00:00:00 2001 From: Daniel Hartwig Date: Thu, 28 Jun 2012 14:35:22 +0800 Subject: Improve arch-qualified pkg names with versions command --- src/cmdline/cmdline_versions.cc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/cmdline/cmdline_versions.cc b/src/cmdline/cmdline_versions.cc index ba6df3fa..936ddd59 100644 --- a/src/cmdline/cmdline_versions.cc +++ b/src/cmdline/cmdline_versions.cc @@ -597,7 +597,21 @@ int cmdline_versions(int argc, char *argv[], const char *status_fname, cw::util::ref_ptr m; const pkgCache::PkgIterator pkg = (*apt_cache_file)->FindPkg(arg); if(pkg.end() == false) - m = m::pattern::make_exact_name(pkg.Name()); + { + std::string name(arg); + const std::string::size_type archfound = name.find_last_of(':'); + if(archfound != std::string::npos) + { + const std::string arch = name.substr(archfound + 1); + name.erase(archfound); + m = m::pattern::make_and(m::pattern::make_exact_name(pkg.Name()), + m::pattern::make_architecture(arch)); + } + else + { + m = m::pattern::make_exact_name(pkg.Name()); + } + } else if(m::is_pattern(arg) == true) m = m::parse(arg); else -- cgit v1.2.3