]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/clean.cc
add by-hash sources.list option and document all of by-hash
[apt.git] / apt-pkg / clean.cc
index 2dea8ffdd754a3da466846da5edeb3794af4adb3..ebe8a8a530569ad5df7f80d49e5754bac23c41dd 100644 (file)
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/aptconfiguration.h>
 #include <apt-pkg/fileutl.h>
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/cacheiterators.h>
 
+#include <string>
+#include <string.h>
 #include <dirent.h>
 #include <sys/stat.h>
 #include <unistd.h>
 bool pkgArchiveCleaner::Go(std::string Dir,pkgCache &Cache)
 {
    bool CleanInstalled = _config->FindB("APT::Clean-Installed",true);
-      
+
+   if(Dir == "/")
+      return _error->Error(_("Clean of %s is not supported"), Dir.c_str());
+
    DIR *D = opendir(Dir.c_str());
    if (D == 0)
       return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str());
@@ -99,7 +106,7 @@ bool pkgArchiveCleaner::Go(std::string Dir,pkgCache &Cache)
                 J.end() == false; ++J)
            {
               if (CleanInstalled == true &&
-                  (J.File()->Flags & pkgCache::Flag::NotSource) != 0)
+                  J.File().Flagged(pkgCache::Flag::NotSource))
                  continue;
               IsFetchable = true;
               break;
@@ -124,3 +131,6 @@ bool pkgArchiveCleaner::Go(std::string Dir,pkgCache &Cache)
    return true;
 }
                                                                        /*}}}*/
+
+pkgArchiveCleaner::pkgArchiveCleaner() : d(NULL) {}
+APT_CONST pkgArchiveCleaner::~pkgArchiveCleaner() {}