diff options
Diffstat (limited to 'include/lib.sh')
-rw-r--r-- | include/lib.sh | 21 |
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 } |