summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bsdconfig
diff options
context:
space:
mode:
authordteske <dteske@FreeBSD.org>2015-03-05 00:43:50 +0000
committerdteske <dteske@FreeBSD.org>2015-03-05 00:43:50 +0000
commit4b2ae2ef5ebbc6aa8797f09a76e11ff4aad8d9b5 (patch)
tree8f2110b5a104e8bf318d2c5c712d07301bbdd129 /usr.sbin/bsdconfig
parentc0c29901233b0f69ad1f66158f313471bc8ade0d (diff)
downloadFreeBSD-src-4b2ae2ef5ebbc6aa8797f09a76e11ff4aad8d9b5.zip
FreeBSD-src-4b2ae2ef5ebbc6aa8797f09a76e11ff4aad8d9b5.tar.gz
MFC r278491: Add bsdconfig api function f_dialog_menutag2help()
Diffstat (limited to 'usr.sbin/bsdconfig')
-rw-r--r--usr.sbin/bsdconfig/share/dialog.subr33
1 files changed, 33 insertions, 0 deletions
diff --git a/usr.sbin/bsdconfig/share/dialog.subr b/usr.sbin/bsdconfig/share/dialog.subr
index 13d209c..c83c0c6 100644
--- a/usr.sbin/bsdconfig/share/dialog.subr
+++ b/usr.sbin/bsdconfig/share/dialog.subr
@@ -2116,6 +2116,39 @@ f_dialog_menutag2index_with_help()
return $FAILURE
}
+# f_dialog_menutag2help $tag_chosen $tag1 $item1 $help1 $tag2 $item2 $help2 ...
+#
+# To use the `--menu' option of dialog(1) with the `--item-help' option, you
+# must pass an ordered list of tag/item/help triplets on the command-line. When
+# the user selects a menu option the tag for that item is printed to stderr.
+#
+# This function allows you to dereference the tag chosen by the user back into
+# the help associated with said tag (item is discarded/ignored).
+#
+# Pass the tag chosen by the user as the first argument, followed by the
+# ordered list of tag/item/help triplets (HINT: use the same tag/item/help list
+# as was passed to dialog(1) for consistency).
+#
+# If the tag cannot be found, NULL is returned.
+#
+f_dialog_menutag2help()
+{
+ local tag="$1" tagn help
+ shift 1 # tag
+
+ while [ $# -gt 0 ]; do
+ tagn="$1"
+ help="$3"
+ shift 3 # tagn/item/help
+
+ if [ "$tag" = "$tagn" ]; then
+ echo "$help"
+ return $SUCCESS
+ fi
+ done
+ return $FAILURE
+}
+
############################################################ INIT FUNCTIONS
# f_dialog_init
OpenPOWER on IntegriCloud