summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/debsystem.cc
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:57:45 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:57:45 +0000
commitaf87ab54430b31a0e1840b2c1673c07d74813447 (patch)
tree9f2143bc188495cf84c64c2c54cc9b60e1738bed /apt-pkg/deb/debsystem.cc
parent70d73d7e0c05939443131ed815fabcd0b087483d (diff)
'apt-cache policy' preferences debug tool.
Author: jgg Date: 2001-04-29 05:13:51 GMT 'apt-cache policy' preferences debug tool.
Diffstat (limited to 'apt-pkg/deb/debsystem.cc')
-rw-r--r--apt-pkg/deb/debsystem.cc31
1 files changed, 29 insertions, 2 deletions
diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc
index 0abd4c8aa..5a4cbe654 100644
--- a/apt-pkg/deb/debsystem.cc
+++ b/apt-pkg/deb/debsystem.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: debsystem.cc,v 1.2 2001/02/20 07:03:17 jgg Exp $
+// $Id: debsystem.cc,v 1.3 2001/04/29 05:13:51 jgg Exp $
/* ######################################################################
System - Abstraction for running on different systems.
@@ -42,6 +42,14 @@ debSystem::debSystem()
VS = &debVS;
}
/*}}}*/
+// System::~debSystem - Destructor /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+debSystem::~debSystem()
+{
+ delete StatusFile;
+}
+ /*}}}*/
// System::Lock - Get the lock /*{{{*/
// ---------------------------------------------------------------------
/* This mirrors the operations dpkg does when it starts up. Note the
@@ -191,7 +199,26 @@ signed debSystem::Score(Configuration const &Cnf)
/* */
bool debSystem::AddStatusFiles(vector<pkgIndexFile *> &List)
{
- List.push_back(new debStatusIndex(_config->FindFile("Dir::State::status")));
+ if (StatusFile == 0)
+ StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status"));
+ List.push_back(StatusFile);
return true;
}
/*}}}*/
+// System::FindIndex - Get an index file for status files /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool debSystem::FindIndex(pkgCache::PkgFileIterator File,
+ pkgIndexFile *&Found) const
+{
+ if (StatusFile == 0)
+ return false;
+ if (StatusFile->FindInCache(*File.Cache()) == File)
+ {
+ Found = StatusFile;
+ return true;
+ }
+
+ return false;
+}
+ /*}}}*/