X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/424ff669be2d1871592247907d977ed9fba3229f..34984adbae646b922c4759849097f047461c4a60:/apt-pkg/cachefilter.cc diff --git a/apt-pkg/cachefilter.cc b/apt-pkg/cachefilter.cc index 35f95fe22..e388f2450 100644 --- a/apt-pkg/cachefilter.cc +++ b/apt-pkg/cachefilter.cc @@ -9,10 +9,12 @@ #include #include #include +#include #include +#include #include - +#include #include #include @@ -55,6 +57,17 @@ PackageNameMatchesRegEx::~PackageNameMatchesRegEx() { /*{{{*/ } /*}}}*/ +// Fnmatch support /*{{{*/ +//---------------------------------------------------------------------- +bool PackageNameMatchesFnmatch::operator() (pkgCache::PkgIterator const &Pkg) {/*{{{*/ + return fnmatch(Pattern.c_str(), Pkg.Name(), FNM_CASEFOLD) == 0; +} + /*}}}*/ +bool PackageNameMatchesFnmatch::operator() (pkgCache::GrpIterator const &Grp) {/*{{{*/ + return fnmatch(Pattern.c_str(), Grp.Name(), FNM_CASEFOLD) == 0; +} + /*}}}*/ + // CompleteArch to - tuple /*{{{*/ //---------------------------------------------------------------------- /* The complete architecture, consisting of -. */ @@ -66,19 +79,12 @@ static std::string CompleteArch(std::string const &arch) { complete = complete.substr(1, complete.size()-2); return complete; } - else if (arch == "armel") return "linux-arm"; - else if (arch == "armhf") return "linux-arm"; - else if (arch == "lpia") return "linux-i386"; - else if (arch == "powerpcspe") return "linux-powerpc"; - else if (arch == "uclibc-linux-armel") return "linux-arm"; - else if (arch == "uclinux-armel") return "uclinux-arm"; else if (arch == "any") return "*-*"; else return "linux-" + arch; } /*}}}*/ PackageArchitectureMatchesSpecification::PackageArchitectureMatchesSpecification(std::string const &pattern, bool const isPattern) :/*{{{*/ - literal(pattern), isPattern(isPattern), d(NULL) { - complete = CompleteArch(pattern); + literal(pattern), complete(CompleteArch(pattern)), isPattern(isPattern), d(NULL) { } /*}}}*/ bool PackageArchitectureMatchesSpecification::operator() (char const * const &arch) {/*{{{*/