summaryrefslogtreecommitdiff
path: root/include/lib.sh
diff options
context:
space:
mode:
Diffstat (limited to 'include/lib.sh')
-rw-r--r--include/lib.sh21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/lib.sh b/include/lib.sh
index d58716c3..abf4de3b 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -128,6 +128,22 @@ setvars()
printf "%s\n" "${_setvars% }"
}
+setcfg()
+{
+ [ $# -gt 1 ] && printf "e \"%s\" f missing && return %s;\n" "$1" "$2"
+ [ $# -gt 1 ] || \
+ printf "e \"%s\" f not && %s \"Missing config\";\n" "$1" "$err"
+ printf ". \"%s\" || %s \"Could not read config\";\n" "$1" "$err"
+}
+
+chkvars()
+{
+ for var in "$@"; do
+ eval "[ -n \"\${$var+x}\" ] || \$err \"$var unset\""
+ eval "[ -n \"\$$var\" ] || \$err \"$var unset\""
+ done; :
+}
+
fe_()
{
find_ex "x_" "$@"
@@ -146,18 +162,19 @@ find_ex()
$errx find "$@" 2>/dev/null | sort > "$fd" || \
$err "!find $(echo "$@") > \"$fd\""
while read -r fx; do
- "$xx" "$fx" || break; :
+ $xx "$fx" || break; :
done < "$fd"
x_ rm -f "$fd"
}
x_()
{
+ [ $# -lt 1 ] || [ -n "$1" ] || $err "Empty first arg: x_ $(echo "$@")"
[ $# -lt 1 ] || "$@" || $err "Unhandled error for: $(echo "$@")"; :
}
err_()
{
- printf "ERROR %s: %s\n" "$0" "$1" 1>&2
+ [ $# -lt 1 ] || printf "ERROR %s: %s\n" "$0" "$1" 1>&2 || :
exit 1
}