From 8de07279bb856088cc17ceebf0422ebce4e13d29 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 19 Jan 2015 12:26:37 +0100 Subject: [PATCH] sfdisk: fix --bytes Signed-off-by: Karel Zak --- disk-utils/sfdisk.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c index d609c55a6..86c8b669f 100644 --- a/disk-utils/sfdisk.c +++ b/disk-utils/sfdisk.c @@ -1364,7 +1364,7 @@ static void __attribute__ ((__noreturn__)) usage(FILE *out) int main(int argc, char *argv[]) { const char *outarg = NULL; - int rc = -EINVAL, c, longidx = -1; + int rc = -EINVAL, c, longidx = -1, bytes = 0; struct sfdisk _sf = { .partno = -1, .interactive = isatty(STDIN_FILENO) ? 1 : 0, @@ -1425,8 +1425,6 @@ int main(int argc, char *argv[]) textdomain(PACKAGE); atexit(close_stdout); - sfdisk_init(sf); - while ((c = getopt_long(argc, argv, "aAbcdfghlLo:O:nN:qsTu:vVX:Y:", longopts, &longidx)) != -1) { switch(c) { @@ -1523,13 +1521,17 @@ int main(int argc, char *argv[]) sf->noreread = 1; break; case OPT_BYTES: - fdisk_set_size_unit(sf->cxt, FDISK_SIZEUNIT_BYTES); + bytes = 1; break; default: usage(stderr); } } + sfdisk_init(sf); + if (bytes) + fdisk_set_size_unit(sf->cxt, FDISK_SIZEUNIT_BYTES); + if (outarg) init_fields(NULL, outarg, NULL);