.SH OPTIONS
.TP
.BR \-a , " \-\-all"
-Include online and offline CPUs in the output (default for -e).
+Include lines for online and offline CPUs in the output (default for -e). This
+option may only specified together with option -e or -p.
.TP
.BR \-b , " \-\-online"
-Limit the output to online CPUs (default for -p).
+Limit the output to online CPUs (default for -p). This option may only
+be specified together with option -e or -p.
.TP
.BR \-c , " \-\-offline"
-Limit the output to offline CPUs.
+Limit the output to offline CPUs. This option may only be specified together
+with option -e or -p.
.TP
.BR \-e , " \-\-extended " \fI[=list]\fP
Display the CPU information in human readable format.
struct lscpu_desc _desc = { .flags = 0 }, *desc = &_desc;
int c, i;
int columns[ARRAY_SIZE(coldescs)], ncolumns = 0;
+ int cpu_modifier_specified = 0;
static const struct option longopts[] = {
{ "all", no_argument, 0, 'a' },
switch (c) {
case 'a':
mod->online = mod->offline = 1;
+ cpu_modifier_specified = 1;
break;
case 'b':
mod->online = 1;
+ cpu_modifier_specified = 1;
break;
case 'c':
mod->offline = 1;
+ cpu_modifier_specified = 1;
break;
case 'h':
usage(stdout);
}
}
+ if (cpu_modifier_specified && mod->mode == OUTPUT_SUMMARY) {
+ fprintf(stderr,
+ _("%s: options --all, --online and --offline may only "
+ "be used with options --extended or --parsable.\n"),
+ program_invocation_short_name);
+ return EXIT_FAILURE;
+ }
+
if (argc != optind)
usage(stderr);