aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/devmenu/devfilter.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/devmenu/devfilter.c')
-rw-r--r--usr.bin/devmenu/devfilter.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.bin/devmenu/devfilter.c b/usr.bin/devmenu/devfilter.c
index d48a6b80aa342..9cfd3660f8d50 100644
--- a/usr.bin/devmenu/devfilter.c
+++ b/usr.bin/devmenu/devfilter.c
@@ -132,7 +132,8 @@ devmenu_freedevs(struct devconf ***devpp)
const char *
devmenu_common(const char *title, const char *hfile, char **devnames,
- const char *prompt, const char *none, enum dc_class class)
+ const char *prompt, const char *none, enum dc_class class,
+ int states)
{
struct devconf **devs;
int s;
@@ -149,6 +150,8 @@ devmenu_common(const char *title, const char *hfile, char **devnames,
devs = devmenu_alldevs();
for (i = 0; devs[i]; i++) {
+ if (states && !((1 << devs[i]->dc_state) & states))
+ continue;
if (class && !(devs[i]->dc_class & class))
continue;
if (devmenu_filter(devs[i], devnames)) {