diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-01-02 13:27:02 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-01-02 16:20:01 +0100 |
commit | f6459e646f6fa45c34d1f13f37173ea4b92ffd5f (patch) | |
tree | 1bcb678317ceb6cb6fcaab41621003b6daaf5828 /apt-pkg | |
parent | e21ba62847687b5dc655b28ef7dd67d6eb7336e2 (diff) |
properly parse comments in apt_preferences and deb822-style sources
apt_preferences and deb822-style sources used the specialized class
pkgUserTagSection to deal with comments before/after a given stanza, but
it couldn't deal with comments in the stanza at all.
codesearch suggests that nobody else does and a vastely superior way of
working with potentially commented files is implemented now, so we can
officially discourage the use of the old incomplete hack class.
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/policy.cc | 4 | ||||
-rw-r--r-- | apt-pkg/sourcelist.cc | 4 | ||||
-rw-r--r-- | apt-pkg/tagfile.h | 4 |
3 files changed, 5 insertions, 7 deletions
diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index d442e5c90..b36f4d4b7 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -438,11 +438,11 @@ bool ReadPinFile(pkgPolicy &Plcy,string File) return true; FileFd Fd(File,FileFd::ReadOnly); - pkgTagFile TF(&Fd); + pkgTagFile TF(&Fd, pkgTagFile::SUPPORT_COMMENTS); if (Fd.IsOpen() == false || Fd.Failed()) return false; - pkgUserTagSection Tags; + pkgTagSection Tags; while (TF.Step(Tags) == true) { // can happen when there are only comments in a record diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc index 6773b069f..82d2ed3c6 100644 --- a/apt-pkg/sourcelist.cc +++ b/apt-pkg/sourcelist.cc @@ -418,16 +418,16 @@ bool pkgSourceList::ParseFileOldStyle(std::string const &File) /* Returns: the number of stanzas parsed*/ bool pkgSourceList::ParseFileDeb822(string const &File) { - pkgUserTagSection Tags; unsigned int i = 1; // see if we can read the file FileFd Fd(File, FileFd::ReadOnly); - pkgTagFile Sources(&Fd); + pkgTagFile Sources(&Fd, pkgTagFile::SUPPORT_COMMENTS); if (Fd.IsOpen() == false || Fd.Failed()) return _error->Error(_("Malformed stanza %u in source list %s (type)"),i,File.c_str()); // read step by step + pkgTagSection Tags; while (Sources.Step(Tags) == true) { if(Tags.Exists("Types") == false) diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h index 2f26846ef..460cf2cd6 100644 --- a/apt-pkg/tagfile.h +++ b/apt-pkg/tagfile.h @@ -140,9 +140,7 @@ class pkgTagSection }; -/* For user generated file the parser should be a bit more relaxed in exchange - for being a bit slower to allow comments and new lines all over the place */ -class pkgUserTagSection : public pkgTagSection +class APT_DEPRECATED_MSG("Use pkgTagFile with the SUPPORT_COMMENTS flag instead") pkgUserTagSection : public pkgTagSection { virtual void TrimRecord(bool BeforeRecord, const char* &End) APT_OVERRIDE; }; |