mapping.insert(std::make_pair("Valid-Until-Min", std::make_pair("valid-until-min", false)));
mapping.insert(std::make_pair("Valid-Until-Max", std::make_pair("valid-until-max", false)));
mapping.insert(std::make_pair("Signed-By", std::make_pair("signed-by", false)));
+ mapping.insert(std::make_pair("PDiffs", std::make_pair("pdiffs", false)));
for (std::map<char const * const, std::pair<char const * const, bool> >::const_iterator m = mapping.begin(); m != mapping.end(); ++m)
if (Tags.Exists(m->first))
{
for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I)
delete *I;
+ SrcList.clear();
+ for (auto F = VolatileFiles.begin(); F != VolatileFiles.end(); ++F)
+ delete (*F);
+ VolatileFiles.clear();
}
/*}}}*/
// SourceList::ReadMainList - Read the main source list from etc /*{{{*/
else
return ParseFileOldStyle(File);
}
-
+ /*}}}*/
// SourceList::ReadFileOldStyle - Read Traditional style sources.list /*{{{*/
// ---------------------------------------------------------------------
/* */
continue;
// Grok it
- std::string const LineType = Buffer.substr(0, Buffer.find(' '));
+ std::string const LineType = Buffer.substr(0, Buffer.find_first_of(" \t\v"));
if (LineType.empty() || LineType == Buffer)
return _error->Error(_("Malformed line %u in source list %s (type)"),CurLine,File.c_str());
}
}
}
-
+ for (vector<pkgIndexFile *>::const_iterator J = VolatileFiles.begin();
+ J != VolatileFiles.end(); ++J)
+ {
+ if ((*J)->FindInCache(*File.Cache()) == File)
+ {
+ Found = (*J);
+ return true;
+ }
+ }
return false;
}
/*}}}*/
return mtime_sources;
}
/*}}}*/
-
+std::vector<pkgIndexFile*> pkgSourceList::GetVolatileFiles() const /*{{{*/
+{
+ return VolatileFiles;
+}
+ /*}}}*/
+void pkgSourceList::AddVolatileFile(pkgIndexFile * const File) /*{{{*/
+{
+ if (File != NULL)
+ VolatileFiles.push_back(File);
+}
+ /*}}}*/