Before this change --pairs option would always win over --json. That is
unnecessarily confusing, it is much better to disallow combination that does
not make sense.
Notice that the --noheadings in combination with --json or --pairs will not
cause any effect. In strictest possible understanding --noheadings should
also be exclusive. Looking from more relaxed point of view neither --json
nor --pairs has heading, so excluding is not necessary because --noheading
is happening already.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
#include <libsmartcols.h>
#include "closestream.h"
+#include "optutils.h"
#include "strutils.h"
#include "xalloc.h"
};
int c;
const char *outarg = NULL;
+ static const ul_excl_t excl[] = { /* rows and cols in ASCII order */
+ {'J', 'P'},
+ {0}
+ };
+ int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
setlocale(LC_ALL, "");
while ((c = getopt_long(argc, argv, "no:s:hJPV", longopts, NULL)) != -1) {
+ err_exclusive_options(c, longopts, excl, excl_st);
+
switch (c) {
case 'J':
out.json = 1;