diff options
author | Benjamin Coddington <bcodding@redhat.com> | 2014-12-08 15:32:29 -0500 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2015-01-23 14:08:18 -0500 |
commit | 0ffc25463b3e6c5a87c14f782a7c1d19b13d318f (patch) | |
tree | deb2f214a9dc20d1d948be7b6edd8ddd3c9051dc /utils/mount/parse_opt.c | |
parent | bcd629c66ed409d57027e830a1ac287d8af44d3c (diff) | |
download | nfs-utils-0ffc25463b3e6c5a87c14f782a7c1d19b13d318f.tar.gz nfs-utils-0ffc25463b3e6c5a87c14f782a7c1d19b13d318f.tar.xz nfs-utils-0ffc25463b3e6c5a87c14f782a7c1d19b13d318f.zip |
mount.nfs: parse options - add helper po_contains_prefix
The version options (v3,v4,v4.2) may increase in the future, but they have
a predictable prefix. Add a parse option helper to locate and return these
options by prefix so that a future increment of version does not require the
addition of strings to a search table.
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/mount/parse_opt.c')
-rw-r--r-- | utils/mount/parse_opt.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/utils/mount/parse_opt.c b/utils/mount/parse_opt.c index 342e210..7ba61c4 100644 --- a/utils/mount/parse_opt.c +++ b/utils/mount/parse_opt.c @@ -410,6 +410,30 @@ po_found_t po_contains(struct mount_options *options, char *keyword) } /** + * po_contains_prefix - check for presence of an option matching a prefix + * @options: pointer to mount options + * @prefix: pointer to prefix to match against a keyword + * @keyword: pointer to a C string containing the option keyword if found + * + * On success, *keyword contains the pointer of the matching option's keyword. + */ +po_found_t po_contains_prefix(struct mount_options *options, + const char *prefix, char **keyword) +{ + struct mount_option *option; + + if (options && prefix) { + for (option = options->head; option; option = option->next) + if (strncmp(option->keyword, prefix, strlen(prefix)) == 0) { + *keyword = option->keyword; + return PO_FOUND; + } + } + + return PO_NOT_FOUND; +} + +/** * po_get - return the value of the rightmost instance of an option * @options: pointer to mount options * @keyword: pointer to a C string containing option keyword for which to search |