From: Karel Zak Date: Fri, 15 Aug 2014 08:49:51 +0000 (+0200) Subject: libfdisk: fdisk_label_is_labeltype() X-Git-Tag: v2.26-rc1~510 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4af064f3fca711c009467fbc9b415c4cc077f993;p=thirdparty%2Futil-linux.git libfdisk: fdisk_label_is_labeltype() Signed-off-by: Karel Zak --- diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c index 48dfe85caf..320b40b9b9 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 4e37f74f99..a2fa93bc65 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 c63060c14e..beb8422945 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);