[PATCH 16/17] setterm: mark some options to be exclusive with each other

Sami Kerola
2014-05-18T14:06:28Z

term-utils/setterm.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/term-utils/setterm.c b/term-utils/setterm.c
index 10ca021..ba175f9 100644
--- a/term-utils/setterm.c
+++ b/term-utils/setterm.c
@@ -78,6 +78,7 @@
#include "c.h"
#include "closestream.h"
#include "nls.h"
+#include "optutils.h"
#include "strutils.h"
#include "xalloc.h"

@@ -541,8 +542,16 @@ static void parse_option(struct setterm_control *ctl, int argc, char **argv)
{"help", no_argument, NULL, OPT_HELP},
{NULL, 0, NULL, 0}
};
+ static const ul_excl_t excl[] = {
+ { OPT_DEFAULT, OPT_STORE },
+ { OPT_TABS, OPT_CLRTABS, OPT_REGTABS },
+ { OPT_MSG, OPT_MSGLEVEL },
+ { 0 }
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;

while ((c = getopt_long_only(argc, argv, "", longopts, NULL)) != -1) {
+ err_exclusive_options(c, longopts, excl, excl_st);
switch (c) {
case OPT_TERM:
ctl->opt_term = set_opt_flag(ctl->opt_term);
--
1.9.2