diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:56:32 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:56:32 +0000 |
commit | b2e465d6d32d2dc884f58b94acb7e35f671a87fe (patch) | |
tree | 5928383b9bde7b0ba9812e6526ad746466e558f7 /apt-pkg/srcrecords.cc | |
parent | 00b47c98ca4a4349686a082eba6d77decbb03a4d (diff) |
Join with aliencode
Author: jgg
Date: 2001-02-20 07:03:16 GMT
Join with aliencode
Diffstat (limited to 'apt-pkg/srcrecords.cc')
-rw-r--r-- | apt-pkg/srcrecords.cc | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc index 6da902d98..b9df32e92 100644 --- a/apt-pkg/srcrecords.cc +++ b/apt-pkg/srcrecords.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: srcrecords.cc,v 1.3 1999/10/18 04:15:24 jgg Exp $ +// $Id: srcrecords.cc,v 1.4 2001/02/20 07:03:17 jgg Exp $ /* ###################################################################### Source Package Records - Allows access to source package records @@ -17,9 +17,10 @@ #include <apt-pkg/srcrecords.h> #include <apt-pkg/error.h> -#include <apt-pkg/configuration.h> +#include <apt-pkg/sourcelist.h> #include <apt-pkg/strutl.h> -#include <apt-pkg/debsrcrecords.h> + +#include <apti18n.h> /*}}}*/ // SrcRecords::pkgSrcRecords - Constructor /*{{{*/ @@ -27,46 +28,28 @@ /* Open all the source index files */ pkgSrcRecords::pkgSrcRecords(pkgSourceList &List) : Files(0), Current(0) { - pkgSourceList::const_iterator I = List.begin(); - - // Count how many items we will need + Files = new Parser *[List.end() - List.begin() + 1]; + unsigned int Count = 0; + pkgSourceList::const_iterator I = List.begin(); for (; I != List.end(); I++) - if (I->Type == pkgSourceList::Item::DebSrc) + { + Files[Count] = (*I)->CreateSrcParser(); + if (_error->PendingError() == true) + return; + if (Files[Count] != 0) Count++; - + } + Files[Count] = 0; + // Doesnt work without any source index files if (Count == 0) { - _error->Error("Sorry, you must put some 'source' uris" - " in your sources.list"); + _error->Error(_("Sorry, you must put some 'source' URIs" + " in your sources.list")); return; } - Files = new Parser *[Count+1]; - memset(Files,0,sizeof(*Files)*(Count+1)); - - // Create the parser objects - Count = 0; - string Dir = _config->FindDir("Dir::State::lists"); - for (I = List.begin(); I != List.end(); I++) - { - if (I->Type != pkgSourceList::Item::DebSrc) - continue; - - // Open the file - FileFd *FD = new FileFd(Dir + URItoFileName(I->PackagesURI()), - FileFd::ReadOnly); - if (_error->PendingError() == true) - { - delete FD; - return; - } - - Files[Count] = new debSrcRecordParser(FD,I); - Count++; - } - Restart(); } /*}}}*/ @@ -81,6 +64,7 @@ pkgSrcRecords::~pkgSrcRecords() // Blow away all the parser objects for (unsigned int Count = 0; Files[Count] != 0; Count++) delete Files[Count]; + delete [] Files; } /*}}}*/ // SrcRecords::Restart - Restart the search /*{{{*/ @@ -136,4 +120,20 @@ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool SrcOnly) } } /*}}}*/ +// Parser::BuildDepType - Convert a build dep to a string /*{{{*/ +// --------------------------------------------------------------------- +/* */ +const char *pkgSrcRecords::Parser::BuildDepType(unsigned char Type) +{ + const char *fields[] = {"Build-Depends", + "Build-Depends-Indep", + "Build-Conflicts", + "Build-Conflicts-Indep"}; + if (Type < 4) + return fields[Type]; + else + return ""; +} + /*}}}*/ + |