]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/cachefilter.cc
add maxsplit parameter to StringSplit
[apt.git] / apt-pkg / cachefilter.cc
index 35f95fe22fcc4d558530ed9099bfcb0277c343ea..57b9af15987e1a4bebe02a80dfc03ac57ef5f1b7 100644 (file)
@@ -55,6 +55,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 <kernel>-<cpu> tuple                                        /*{{{*/
 //----------------------------------------------------------------------
 /* The complete architecture, consisting of <kernel>-<cpu>. */
@@ -66,19 +77,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) {/*{{{*/