From 13136de508adca373ea90d7c069777d03a6110e5 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Tue, 29 Nov 2016 23:58:01 -0800 Subject: Avoid wedging the entire system if recoverable :/. --- apt-pkg/deb/deblistparser.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'apt-pkg/deb/deblistparser.cc') diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index 01fdf0079..91252da5e 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -860,8 +860,10 @@ bool debListParser::ParseDepends(pkgCache::VerIterator &Ver, unsigned int Op; Start = ParseDepends(Start, Stop, Package, Version, Op, false, false, false, myArch); - if (Start == 0) - return _error->Error("Problem parsing dependency %zu",static_cast(Key)); // TODO + if (Start == 0) { + _error->Warning("Problem parsing dependency %zu",static_cast(Key)); // TODO + continue; + } size_t const found = Package.rfind(':'); if (found == string::npos) @@ -928,8 +930,10 @@ bool debListParser::ParseProvides(pkgCache::VerIterator &Ver) { Start = ParseDepends(Start,Stop,Package,Version,Op, false, false, false); const size_t archfound = Package.rfind(':'); - if (Start == 0) - return _error->Error("Problem parsing Provides line"); + if (Start == 0) { + _error->Warning("Problem parsing Provides line"); + continue; + } if (unlikely(Op != pkgCache::Dep::NoOp && Op != pkgCache::Dep::Equals)) { _error->Warning("Ignoring Provides line with non-equal DepCompareOp for package %s", Package.to_string().c_str()); } else if (archfound != string::npos) { -- cgit v1.2.3