diff options
author | Karel Zak | 2015-01-19 11:24:48 +0100 |
---|---|---|
committer | Karel Zak | 2015-01-19 11:24:48 +0100 |
commit | 354f8cc8cf06de44656fb83705c57062d04d1565 (patch) | |
tree | a880a881ba452dff0a14d4f704026779e901a93b /libfdisk/src/partition.c | |
parent | libmount: revert "read mtab on remount" idea (diff) | |
download | kernel-qcow2-util-linux-354f8cc8cf06de44656fb83705c57062d04d1565.tar.gz kernel-qcow2-util-linux-354f8cc8cf06de44656fb83705c57062d04d1565.tar.xz kernel-qcow2-util-linux-354f8cc8cf06de44656fb83705c57062d04d1565.zip |
libfdiskL add API to print SIZE field in bytes
The patch also add --bytes to fdisk and fdisk.
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libfdisk/src/partition.c')
-rw-r--r-- | libfdisk/src/partition.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/libfdisk/src/partition.c b/libfdisk/src/partition.c index f6305c07d..ba9f597a3 100644 --- a/libfdisk/src/partition.c +++ b/libfdisk/src/partition.c @@ -699,14 +699,21 @@ int fdisk_partition_to_string(struct fdisk_partition *pa, if (fdisk_partition_has_size(pa)) { uint64_t sz = pa->size * cxt->sector_size; - if (fdisk_is_details(cxt)) { - rc = pa->size_post ? - asprintf(&p, "%ju%c", sz, pa->size_post) : - asprintf(&p, "%ju", sz); - } else { - p = size_to_human_string(SIZE_SUFFIX_1LETTER, sz); - if (!p) - rc = -ENOMEM; + switch (cxt->sizeunit) { + case FDISK_SIZEUNIT_BYTES: + rc = asprintf(&p, "%ju", sz); + break; + case FDISK_SIZEUNIT_HUMAN: + if (fdisk_is_details(cxt)) + rc = pa->size_post ? + asprintf(&p, "%ju%c", sz, pa->size_post) : + asprintf(&p, "%ju", sz); + else { + p = size_to_human_string(SIZE_SUFFIX_1LETTER, sz); + if (!p) + rc = -ENOMEM; + } + break; } } break; |