From a53cc4e0cb30eb55e5ccbd376d1ea803aefa060d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 19 Nov 2013 17:41:28 +0100 Subject: libmount: add mnt_tag_is_valid() Signed-off-by: Karel Zak --- libmount/src/utils.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'libmount/src/utils.c') diff --git a/libmount/src/utils.c b/libmount/src/utils.c index 0d5a22716..66203d2b4 100644 --- a/libmount/src/utils.c +++ b/libmount/src/utils.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "strutils.h" #include "pathnames.h" @@ -71,6 +72,22 @@ int mnt_valid_tagname(const char *tagname) return 0; } +/** + * mnt_tag_is_valid: + * @tag: NAME=value string + * + * Returns: 1 if the @tag is parsable and tag NAME= is supported by libmount, or 0. + */ +int mnt_tag_is_valid(const char *tag) +{ + char *t = NULL; + int rc = tag && blkid_parse_tag_string(tag, &t, NULL) == 0 + && mnt_valid_tagname(t); + + free(t); + return rc; +} + int mnt_parse_offset(const char *str, size_t len, uintmax_t *res) { char *p; -- cgit v1.2.3-55-g7522