diff options
Diffstat (limited to 'usr.sbin/pkg_install/info/main.c')
-rw-r--r-- | usr.sbin/pkg_install/info/main.c | 11 |
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); |