summaryrefslogtreecommitdiffstats
path: root/disk-utils/fdisk.c
diff options
context:
space:
mode:
authorKarel Zak2014-10-03 12:40:04 +0200
committerKarel Zak2014-10-07 14:55:32 +0200
commitfff8ad5882308825a131c645e4d28bcaef943351 (patch)
tree93c86191fb81b0787a01628bce9ffef1eeb1fba6 /disk-utils/fdisk.c
parentlibfdisk: add fdisk_label_get_field_by_name() and const for labels (diff)
downloadkernel-qcow2-util-linux-fff8ad5882308825a131c645e4d28bcaef943351.tar.gz
kernel-qcow2-util-linux-fff8ad5882308825a131c645e4d28bcaef943351.tar.xz
kernel-qcow2-util-linux-fff8ad5882308825a131c645e4d28bcaef943351.zip
fdisk: add --output <list> for print command(s)
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'disk-utils/fdisk.c')
-rw-r--r--disk-utils/fdisk.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/disk-utils/fdisk.c b/disk-utils/fdisk.c
index b7063b81d..ee4dd6c61 100644
--- a/disk-utils/fdisk.c
+++ b/disk-utils/fdisk.c
@@ -654,6 +654,8 @@ static void __attribute__ ((__noreturn__)) usage(FILE *out)
fputs(USAGE_HELP, out);
fputs(USAGE_VERSION, out);
+ list_available_columns(out);
+
fprintf(out, USAGE_MAN_TAIL("fdisk(8)"));
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
}
@@ -670,6 +672,7 @@ int main(int argc, char **argv)
int rc, i, c, act = ACT_FDISK;
int colormode = UL_COLORMODE_UNDEF;
struct fdisk_context *cxt;
+ char *outarg = NULL;
static const struct option longopts[] = {
{ "color", optional_argument, NULL, 'L' },
@@ -701,7 +704,7 @@ int main(int argc, char **argv)
fdisk_set_ask(cxt, ask_callback, NULL);
- while ((c = getopt_long(argc, argv, "b:c::C:hH:lL::sS:t:u::vV",
+ while ((c = getopt_long(argc, argv, "b:c::C:hH:lL::o:sS:t:u::vV",
longopts, NULL)) != -1) {
switch (c) {
case 'b':
@@ -759,6 +762,9 @@ int main(int argc, char **argv)
colormode = colormode_or_err(optarg,
_("unsupported color mode"));
break;
+ case 'o':
+ outarg = optarg;
+ break;
case 's':
act = ACT_SHOWSIZE;
break;
@@ -800,6 +806,7 @@ int main(int argc, char **argv)
switch (act) {
case ACT_LIST:
fdisk_enable_listonly(cxt, 1);
+ init_fields(cxt, outarg, NULL);
if (argc > optind) {
int k;
@@ -853,6 +860,8 @@ int main(int argc, char **argv)
"A hybrid GPT was detected. You have to sync "
"the hybrid MBR manually (expert command 'M')."));
+ init_fields(cxt, outarg, NULL); /* -o <columns> */
+
while (1)
process_fdisk_menu(&cxt);
}