From 4af064f3fca711c009467fbc9b415c4cc077f993 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 15 Aug 2014 10:49:51 +0200 Subject: [PATCH] libfdisk: fdisk_label_is_labeltype() Signed-off-by: Karel Zak --- libfdisk/src/context.c | 8 ++++---- libfdisk/src/label.c | 12 ++++++++++++ libfdisk/src/libfdisk.h | 1 + 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c index 48dfe85ca..320b40b9b 100644 --- a/libfdisk/src/context.c +++ b/libfdisk/src/context.c @@ -252,15 +252,15 @@ int fdisk_has_label(struct fdisk_context *cxt) /** * fdisk_is_labeltype: * @cxt: fdisk context - * @l: disklabel type + * @l: FDISK_DISKLABEL_* * * See also fdisk_is_label() macro in libfdisk.h. - * - * Returns: return 1 if there is @l disklabel on the device. + * + * Returns: return 1 if the current label is @l */ int fdisk_is_labeltype(struct fdisk_context *cxt, enum fdisk_labeltype l) { - return cxt && cxt->label && cxt->label->id == l; + return cxt && fdisk_label_is_labeltype(cxt->label, l); } static void reset_context(struct fdisk_context *cxt) diff --git a/libfdisk/src/label.c b/libfdisk/src/label.c index 4e37f74f9..a2fa93bc6 100644 --- a/libfdisk/src/label.c +++ b/libfdisk/src/label.c @@ -70,6 +70,18 @@ const char *fdisk_label_get_name(struct fdisk_label *lb) return lb ? lb->name : NULL; } +/** + * fdisk_label_is_labeltype: + * @lb: label + * @id: FDISK_DISKLABEL_* + * + * Returns: 1 if the label type matches with id. + */ +int fdisk_label_is_labeltype(struct fdisk_label *lb, enum fdisk_labeltype id) +{ + return lb && lb->id == id; +} + /** * fdisk_label_require_geometry: * @lb: label diff --git a/libfdisk/src/libfdisk.h b/libfdisk/src/libfdisk.h index c63060c14..beb842294 100644 --- a/libfdisk/src/libfdisk.h +++ b/libfdisk/src/libfdisk.h @@ -169,6 +169,7 @@ enum { FDISK_FIELD_UUID, }; +int fdisk_label_is_labeltype(struct fdisk_label *lb, enum fdisk_labeltype id); const char *fdisk_label_get_name(struct fdisk_label *lb); int fdisk_label_require_geometry(struct fdisk_label *lb);