diff options
Diffstat (limited to 'sys-utils/eject.c')
-rw-r--r-- | sys-utils/eject.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/sys-utils/eject.c b/sys-utils/eject.c index 4f7d6e651..008b4fe4e 100644 --- a/sys-utils/eject.c +++ b/sys-utils/eject.c @@ -202,12 +202,8 @@ static void parse_args(struct eject_control *ctl, int argc, char **argv) switch (c) { case 'a': ctl->a_option = 1; - if (!strcmp(optarg, "0") || !strcmp(optarg, "off")) - ctl->a_arg = 0; - else if (!strcmp(optarg, "1") || !strcmp(optarg, "on")) - ctl->a_arg = 1; - else - errx(EXIT_FAILURE, _("invalid argument to --auto/-a option")); + ctl->a_arg = parse_switch(optarg, _("argument error"), + "on", "off", "1", "0", NULL); break; case 'c': ctl->c_option = 1; @@ -231,12 +227,8 @@ static void parse_args(struct eject_control *ctl, int argc, char **argv) break; case 'i': ctl->i_option = 1; - if (!strcmp(optarg, "0") || !strcmp(optarg, "off")) - ctl->i_arg = 0; - else if (!strcmp(optarg, "1") || !strcmp(optarg, "on")) - ctl->i_arg = 1; - else - errx(EXIT_FAILURE, _("invalid argument to --manualeject/-i option")); + ctl->i_arg = parse_switch(optarg, _("argument error"), + "on", "off", "1", "0", NULL); break; case 'm': ctl->m_option = 1; |