diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:50:56 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:50:56 +0000 |
commit | 3164dff98e933252249afc0de9e8469b9696fd42 (patch) | |
tree | 48d44f55d5d32015269c688656a8ef4f7ed7a5eb /apt-pkg/pkgrecords.cc | |
parent | f55ece0eae40e44dca027528a6f11091279d72b3 (diff) |
Progress meter
Author: jgg
Date: 1998-08-19 06:16:08 GMT
Progress meter
Diffstat (limited to 'apt-pkg/pkgrecords.cc')
-rw-r--r-- | apt-pkg/pkgrecords.cc | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/apt-pkg/pkgrecords.cc b/apt-pkg/pkgrecords.cc index b3105da44..bb8b05759 100644 --- a/apt-pkg/pkgrecords.cc +++ b/apt-pkg/pkgrecords.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: pkgrecords.cc,v 1.1 1998/08/09 00:51:35 jgg Exp $ +// $Id: pkgrecords.cc,v 1.2 1998/08/19 06:16:10 jgg Exp $ /* ###################################################################### Package Records - Allows access to complete package description records @@ -15,6 +15,7 @@ #include <apt-pkg/pkgrecords.h> #include <apt-pkg/debrecords.h> #include <apt-pkg/error.h> +#include <apt-pkg/configuration.h> /*}}}*/ // Records::pkgRecords - Constructor /*{{{*/ @@ -22,13 +23,25 @@ /* This will create the necessary structures to access the status files */ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0) { + string ListDir = _config->FindDir("Dir::State::lists"); + Files = new PkgFile[Cache.HeaderP->PackageFileCount]; for (pkgCache::PkgFileIterator I = Cache.FileBegin(); I.end() == false; I++) { - Files[I->ID].File = new FileFd(I.FileName(),FileFd::ReadOnly); + // We can not initialize if the cache is out of sync. + if (I.IsOk() == false) + { + _error->Error("Package file %s is out of sync.",I.FileName()); + return; + } + + // Create the file + Files[I->ID].File = new FileFd(ListDir + I.FileName(),FileFd::ReadOnly); if (_error->PendingError() == true) return; + + // Create the parser Files[I->ID].Parse = new debRecordParser(*Files[I->ID].File); if (_error->PendingError() == true) return; |