]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/pkgrecords.cc
merged iwjs patch
[apt.git] / apt-pkg / pkgrecords.cc
index a7dec76a7a82ba16d6670064f30c2b41f7d24fda..b22f3e73fc80ccf6ffe2943529f17aaa30561102 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: pkgrecords.cc,v 1.7 2003/09/02 04:46:18 mdz Exp $
+// $Id: pkgrecords.cc,v 1.8 2003/09/02 04:52:16 mdz Exp $
 /* ######################################################################
    
    Package Records - Allows access to complete package description records
@@ -42,10 +42,6 @@ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0)
       if (Files[I->ID] == 0)
         return;
    }   
-   
-   // We store this to make sure that the destructor won't segfault,
-   // even if the Cache object was destructed before this instance.
-   PackageFileCount = Cache.HeaderP->PackageFileCount;
 }
                                                                        /*}}}*/
 // Records::~pkgRecords - Destructor                                   /*{{{*/
@@ -53,7 +49,7 @@ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0)
 /* */
 pkgRecords::~pkgRecords()
 {
-   for (unsigned I = 0; I != PackageFileCount; I++)
+   for (unsigned I = 0; I != Cache.HeaderP->PackageFileCount; I++)
       delete Files[I];
    delete [] Files;
 }
@@ -67,3 +63,12 @@ pkgRecords::Parser &pkgRecords::Lookup(pkgCache::VerFileIterator const &Ver)
    return *Files[Ver.File()->ID];
 }
                                                                        /*}}}*/
+// Records::Lookup - Get a parser for the package description file     /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+pkgRecords::Parser &pkgRecords::Lookup(pkgCache::DescFileIterator const &Desc)
+{
+   Files[Desc.File()->ID]->Jump(Desc);
+   return *Files[Desc.File()->ID];
+}
+                                                                       /*}}}*/