summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pkg_install/info/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/pkg_install/info/main.c')
-rw-r--r--usr.sbin/pkg_install/info/main.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/usr.sbin/pkg_install/info/main.c b/usr.sbin/pkg_install/info/main.c
index 807f960..29c0554 100644
--- a/usr.sbin/pkg_install/info/main.c
+++ b/usr.sbin/pkg_install/info/main.c
@@ -26,7 +26,7 @@ __FBSDID("$FreeBSD$");
#include "info.h"
#include <err.h>
-static char Options[] = "acdDe:fgGhiIkl:LmopqrRst:vVW:x";
+static char Options[] = "acdDe:fgGhiIkl:LmoO:pqrRst:vVW:x";
int Flags = 0;
match_t MatchType = MATCH_GLOB;
@@ -34,6 +34,7 @@ Boolean Quiet = FALSE;
char *InfoPrefix = (char *)(uintptr_t)"";
char PlayPen[FILENAME_MAX];
char *CheckPkg = NULL;
+char *LookUpOrigin = NULL;
struct which_head *whead;
static void usage __P((void));
@@ -132,6 +133,12 @@ main(int argc, char **argv)
Flags |= SHOW_ORIGIN;
break;
+ case 'O':
+ LookUpOrigin = strdup(optarg);
+ if (LookUpOrigin == NULL)
+ err(2, NULL);
+ break;
+
case 'V':
Flags |= SHOW_FMTREV;
break;
@@ -211,7 +218,7 @@ main(int argc, char **argv)
/* If no packages, yelp */
if (pkgs == start && MatchType != MATCH_ALL && !CheckPkg &&
- TAILQ_EMPTY(whead))
+ TAILQ_EMPTY(whead) && LookUpOrigin == NULL)
warnx("missing package name(s)"), usage();
*pkgs = NULL;
return pkg_perform(start);
OpenPOWER on IntegriCloud