summaryrefslogtreecommitdiffstats
path: root/src/globals
diff options
context:
space:
mode:
Diffstat (limited to 'src/globals')
-rw-r--r--src/globals34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/globals b/src/globals
index c55d038..ca7030e 100644
--- a/src/globals
+++ b/src/globals
@@ -43,7 +43,7 @@ function report_notify {
}
function report_debug {
- [[ -n "$NETCFG_DEBUG" ]] && echo "DEBUG: $*"
+ checkyesno "$NETCFG_DEBUG" && echo "DEBUG: $*"
}
function report_try {
@@ -83,6 +83,37 @@ function exit_err { report_err "$*"; exit 1; }
function exit_fail { report_fail "$*"; exit 1; }
+### From FreeBSD's /etc/rc.subr
+##
+# checkyesno var
+# Test $1 variable, and warn if not set to YES or NO.
+# Return 0 if it's "yes" (et al), nonzero otherwise.
+# to make default yes, do "checkyesno ${VAR:-yes}"
+#
+checkyesno()
+{
+ local _value="$1"
+ #debug "checkyesno: $1 is set to $_value."
+ case "$_value" in
+
+ # "yes", "true", "on", or "1"
+ [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+ return 0
+ ;;
+
+ # "no", "false", "off", or "0"
+ [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
+ return 1
+ ;;
+ *)
+ #warn "\$${1} is not set properly - see ${rcvar_manpage}."
+ return 1
+ ;;
+ esac
+}
+
+
+
function load_hooks() {
### Load any +x files in $HOOKS_DIR and $USERHOOKS_DIR
local hook
@@ -98,3 +129,4 @@ function load_hooks() {
load_hooks
+