]> git.saurik.com Git - apt.git/blobdiff - apt-private/private-search.cc
doc/po/pt.po: updated, thanks to Américo Monteir
[apt.git] / apt-private / private-search.cc
index 0b1a929b00172df3705ca6e052100e25efe1a66e..ecd5d7fadd9492ed11fa91091fbb9b614549d240 100644 (file)
@@ -1,40 +1,30 @@
 // Includes                                                            /*{{{*/
-#include <apt-pkg/error.h>
+#include <config.h>
+
 #include <apt-pkg/cachefile.h>
-#include <apt-pkg/cachefilter.h>
 #include <apt-pkg/cacheset.h>
-#include <apt-pkg/init.h>
-#include <apt-pkg/progress.h>
-#include <apt-pkg/sourcelist.h>
 #include <apt-pkg/cmndline.h>
-#include <apt-pkg/strutl.h>
-#include <apt-pkg/fileutl.h>
 #include <apt-pkg/pkgrecords.h>
-#include <apt-pkg/srcrecords.h>
-#include <apt-pkg/version.h>
 #include <apt-pkg/policy.h>
-#include <apt-pkg/tagfile.h>
-#include <apt-pkg/algorithms.h>
-#include <apt-pkg/sptr.h>
-#include <apt-pkg/pkgsystem.h>
-#include <apt-pkg/indexfile.h>
-#include <apt-pkg/metaindex.h>
+#include <apt-pkg/progress.h>
+#include <apt-pkg/cacheiterators.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/depcache.h>
+#include <apt-pkg/macros.h>
+#include <apt-pkg/pkgcache.h>
 
-#include <sstream>
-#include <utility>
-#include <cassert>
-#include <locale.h>
+#include <apt-private/private-cacheset.h>
+#include <apt-private/private-output.h>
+#include <apt-private/private-search.h>
+
+#include <string.h>
 #include <iostream>
-#include <unistd.h>
-#include <errno.h>
-#include <regex.h>
-#include <stdio.h>
-#include <iomanip>
-#include <algorithm>
+#include <sstream>
 #include <map>
+#include <string>
+#include <utility>
 
-#include "private-search.h"
-#include "private-cacheset.h"
+#include <apti18n.h>
                                                                        /*}}}*/
 
 bool FullTextSearch(CommandLine &CmdL)                                 /*{{{*/
@@ -78,8 +68,12 @@ bool FullTextSearch(CommandLine &CmdL)                                       /*{{{*/
          const char *pattern = patterns[i];
          all_found &=  (
             strstr(V.ParentPkg().Name(), pattern) != NULL ||
-            parser.ShortDesc().find(pattern) != std::string::npos ||
-            parser.LongDesc().find(pattern) != std::string::npos);
+            strcasestr(parser.ShortDesc().c_str(), pattern) != NULL ||
+            strcasestr(parser.LongDesc().c_str(), pattern) != NULL);
+         // search patterns are AND by default so we can skip looking further
+         // on the first mismatch
+         if(all_found == false)
+            break;
       }
       if (all_found)
       {