summaryrefslogtreecommitdiffstats
path: root/libfdisk/src/partition.c
diff options
context:
space:
mode:
authorKarel Zak2013-11-27 14:33:01 +0100
committerKarel Zak2014-03-11 11:35:12 +0100
commitd6faa8e00d76bf54ee4c267354f940e7d11a1a99 (patch)
tree84b92d250ace4a68685de69df435786a52d554e7 /libfdisk/src/partition.c
parentlibfdisk: (bsd) use new get_part() API (diff)
downloadkernel-qcow2-util-linux-d6faa8e00d76bf54ee4c267354f940e7d11a1a99.tar.gz
kernel-qcow2-util-linux-d6faa8e00d76bf54ee4c267354f940e7d11a1a99.tar.xz
kernel-qcow2-util-linux-d6faa8e00d76bf54ee4c267354f940e7d11a1a99.zip
libfdisk: add new list() columns, cleanup
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libfdisk/src/partition.c')
-rw-r--r--libfdisk/src/partition.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libfdisk/src/partition.c b/libfdisk/src/partition.c
index 12ac435fa..b7a63a5e6 100644
--- a/libfdisk/src/partition.c
+++ b/libfdisk/src/partition.c
@@ -208,6 +208,9 @@ int fdisk_partition_to_string(struct fdisk_partition *pa,
else
p = fdisk_partname(pa->cxt->dev_path, pa->partno + 1);
break;
+ case FDISK_COL_BOOT:
+ rc = asprintf(&p, "%c", pa->boot);
+ break;
case FDISK_COL_START:
rc = pa->start_post ?
asprintf(&p, "%ju%c", pa->start, pa->start_post) :
@@ -229,6 +232,9 @@ int fdisk_partition_to_string(struct fdisk_partition *pa,
rc = -ENOMEM;
}
break;
+ case FDISK_COL_SECTORS:
+ rc = asprintf(&p, "%ju", pa->size / pa->cxt->sector_size);
+ break;
case FDISK_COL_BSIZE:
rc = asprintf(&p, "%ju", pa->bsize);
break;
@@ -241,6 +247,12 @@ int fdisk_partition_to_string(struct fdisk_partition *pa,
case FDISK_COL_TYPE:
p = pa->type && pa->type->name ? strdup(pa->type->name) : NULL;
break;
+ case FDISK_COL_TYPEID:
+ if (pa->type && pa->type->typestr)
+ rc = asprintf(&p, "%s", pa->type->typestr);
+ else if (pa->type)
+ rc = asprintf(&p, "%x", pa->type->type);
+ break;
case FDISK_COL_UUID:
p = pa->uuid ? strdup(pa->uuid) : NULL;
break;
@@ -250,6 +262,12 @@ int fdisk_partition_to_string(struct fdisk_partition *pa,
case FDISK_COL_ATTR:
p = pa->attrs ? strdup(pa->attrs) : NULL;
break;
+ case FDISK_COL_SADDR:
+ p = pa->start_addr ? strdup(pa->start_addr) : NULL;
+ break;
+ case FDISK_COL_EADDR:
+ p = pa->end_addr ? strdup(pa->end_addr) : NULL;
+ break;
default:
return -EINVAL;
}