From 840a09d240affbc18b26d34461bb109d272d0d33 Mon Sep 17 00:00:00 2001 From: Edward Tomasz Napierala Date: Sat, 8 Aug 2015 10:38:37 +0000 Subject: Fix interaction between libedit initialization and Capsicum in units(1). The most visible is the removal of libedit warnings about being unable to open termcap database. Reviewed by: eadler@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3322 --- usr.bin/units/units.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'usr.bin/units') diff --git a/usr.bin/units/units.c b/usr.bin/units/units.c index 929510f5663f..94495c985cb6 100644 --- a/usr.bin/units/units.c +++ b/usr.bin/units/units.c @@ -802,10 +802,10 @@ main(int argc, char **argv) if (!readfile) readunits(NULL); - if (cap_enter() < 0 && errno != ENOSYS) - err(1, "unable to enter capability mode"); - if (optind == argc - 2) { + if (cap_enter() < 0 && errno != ENOSYS) + err(1, "unable to enter capability mode"); + havestr = argv[optind]; wantstr = argv[optind + 1]; initializeunit(&have); @@ -815,8 +815,7 @@ main(int argc, char **argv) addunit(&want, wantstr, 0, 1); completereduce(&want); showanswer(&have, &want); - } - else { + } else { inhistory = history_init(); el = el_init(argv[0], stdin, stdout, stderr); el_set(el, EL_PROMPT, &prompt); @@ -828,6 +827,9 @@ main(int argc, char **argv) if (inhistory == 0) err(1, "Could not initialize history"); + if (cap_enter() < 0 && errno != ENOSYS) + err(1, "unable to enter capability mode"); + if (!quiet) printf("%d units, %d prefixes\n", unitcount, prefixcount); -- cgit v1.2.3