diff --git a/zuper b/zuper index 210a292..38889c8 100644 --- a/zuper +++ b/zuper @@ -133,8 +133,22 @@ fn() { fun="$@" req=() freq=() + func "$fun" } +zerr() { + error "error in: ${fun:-$last_notice}" + [[ "$last_func" = "" ]] || warn "called in: $last_func" + [[ "$last_act" = "" ]] || warn "called in: $last_act" + [[ "$last_notice" = "" ]] || warn "called in: $last_notice" + # [[ "$fun" = "" ]] || warn "called in: $fun" + TRAPEXIT() { + error "error reported, operation aborted." + } + return 1 +} + + ckreq reqck() { err=0 for v in $req; do @@ -153,19 +167,10 @@ ckreq reqck() { err=1 } done + [[ $err == 1 ]] && zerr return $err } -zerr() { - error "error in: ${fun:-$last_notice}" - [[ "$last_func" = "" ]] || warn "called in: $last_func" - [[ "$last_act" = "" ]] || warn "called in: $last_act" - [[ "$last_notice" = "" ]] || warn "called in: $last_notice" - [[ "$fun" = "" ]] || warn "called in: $fun" - error "error reported, operation aborted." - return 1 -} - zdump() { fn zdump [[ ${#vars} -gt 0 ]] && {