]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/indexfile.cc
don't try to get acquire lock in simulation mode
[apt.git] / apt-pkg / indexfile.cc
index f0fae907f5cb9f7180c4957d13b1e31279d555da..7ded0101b66faa6a73d42e730c85dd0bc3974ce2 100644 (file)
@@ -137,13 +137,16 @@ std::string IndexTarget::Option(OptionKeys const EnumKey) const           /*{{{*/
       APT_CASE(ARCHITECTURE);
       APT_CASE(BASE_URI);
       APT_CASE(REPO_URI);
+      APT_CASE(IDENTIFIER);
       APT_CASE(TARGET_OF);
       APT_CASE(CREATED_BY);
+      APT_CASE(FALLBACK_OF);
       APT_CASE(PDIFFS);
       APT_CASE(DEFAULTENABLED);
       APT_CASE(COMPRESSIONTYPES);
       APT_CASE(SOURCESENTRY);
       APT_CASE(BY_HASH);
+      APT_CASE(KEEPCOMPRESSEDAS);
 #undef APT_CASE
       case FILENAME: return _config->FindDir("Dir::State::lists") + URItoFileName(URI);
       case EXISTING_FILENAME:
@@ -266,7 +269,9 @@ std::string pkgDebianIndexTargetFile::GetProgressDescription() const
 pkgDebianIndexRealFile::pkgDebianIndexRealFile(std::string const &pFile, bool const Trusted) :/*{{{*/
    pkgDebianIndexFile(Trusted), d(NULL)
 {
-   if (pFile == "/nonexistent/stdin")
+   if (pFile.empty())
+      ;
+   else if (pFile == "/nonexistent/stdin")
       File = pFile;
    else
       File = flAbsPath(pFile);
@@ -307,7 +312,7 @@ std::string pkgDebianIndexRealFile::GetProgressDescription() const
 }
 bool pkgDebianIndexRealFile::OpenListFile(FileFd &Pkg, std::string const &FileName)/*{{{*/
 {
-   if (Pkg.Open(FileName, FileFd::ReadOnly, FileFd::None) == false)
+   if (Pkg.Open(FileName, FileFd::ReadOnly, FileFd::Extension) == false)
       return _error->Error("Problem opening %s",FileName.c_str());
    return true;
 }
@@ -322,12 +327,18 @@ pkgDebianIndexFile::~pkgDebianIndexFile()
 pkgCacheListParser * pkgDebianIndexFile::CreateListParser(FileFd &Pkg)
 {
    if (Pkg.IsOpen() == false)
-      return NULL;
+      return nullptr;
    _error->PushToStack();
    pkgCacheListParser * const Parser = new debListParser(&Pkg);
    bool const newError = _error->PendingError();
    _error->MergeWithStack();
-   return newError ? NULL : Parser;
+   if (newError)
+   {
+      delete Parser;
+      return nullptr;
+   }
+   else
+      return Parser;
 }
 bool pkgDebianIndexFile::Merge(pkgCacheGenerator &Gen,OpProgress * const Prog)
 {