diff options
Diffstat (limited to 'cmdline')
-rw-r--r-- | cmdline/apt-cache.cc | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc index 286f306cd..3f68579cc 100644 --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@ -1498,15 +1498,26 @@ bool ShowSrcPackage(CommandLine &CmdL) if (_error->PendingError() == true) return false; + unsigned found = 0; for (const char **I = CmdL.FileList + 1; *I != 0; I++) { SrcRecs.Restart(); pkgSrcRecords::Parser *Parse; - while ((Parse = SrcRecs.Find(*I,false)) != 0) - cout << Parse->AsStr() << endl;; + unsigned found_this = 0; + while ((Parse = SrcRecs.Find(*I,false)) != 0) { + cout << Parse->AsStr() << endl;; + found++; + found_this++; + } + if (found_this == 0) { + _error->Warning(_("Unable to locate package %s"),*I); + continue; + } } - return true; + if (found > 0) + return true; + return _error->Error(_("No packages found")); } /*}}}*/ // Policy - Show the results of the preferences file /*{{{*/ |