From 3164dff98e933252249afc0de9e8469b9696fd42 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:50:56 +0000 Subject: Progress meter Author: jgg Date: 1998-08-19 06:16:08 GMT Progress meter --- apt-pkg/pkgrecords.cc | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'apt-pkg/pkgrecords.cc') 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 #include #include +#include /*}}}*/ // 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; -- cgit v1.2.3