Corrections: etc/nsd/zone.d/* - Champ SPF déprécié
[lhc/ateliers.git] / lib / log.sh
index af89e5b..d8aea8a 100644 (file)
@@ -1,39 +1,47 @@
-#!/bin/sh
-
 export TERM=${TERM:-linux}
-tput_rev=${nocolor:-$(tput rev)}
-tput_sgr0=${nocolor:-$(tput sgr0)}
-tput_bold=${nocolor:-$(tput bold)}
-tput_setaf_0=${nocolor:-$(tput setaf 0)}
-tput_setaf_2=${nocolor:-$(tput setaf 2)}
+readonly tput_rev=${nocolor:-$(tput rev)}
+readonly tput_sgr0=${nocolor:-$(tput sgr0)}
+readonly tput_bold=${nocolor:-$(tput bold)}
+readonly tput_setaf_0=${nocolor:-$(tput setaf 0)}
+readonly tput_setaf_1=${nocolor:-$(tput setaf 1)}
+readonly tput_setaf_2=${nocolor:-$(tput setaf 2)}
+readonly tput_setaf_3=${nocolor:-$(tput setaf 3)}
 
 info () {
-       set=$(set +o | grep '^set .o xtrace$')
+       local -
        set +x
        printf >&2 "%sINFO%s" "$tput_setaf_2" "$tput_sgr0"
-       comment=$1
+       local comment="$1"
        shift
+       local var
        for var in "$@"
         do
-               val=$(eval printf %s "\"\${$var:-}\"" || false) || false
-               printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_bold$tput_setaf_0" "$val" "$tput_sgr0"
+               local val="$(eval printf %s "\"\${$var:-}\"" || false)" || false
+               printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_rev" "$val" "$tput_sgr0"
         done
        printf >&2 ": %s%s%s\n" "$tput_rev" "$comment" "$tput_sgr0"
-       $set
  }
 error () {
-       set=$(set +o | grep '^set .o xtrace$')
+       local -
        set +x
-       printf >&2 "%sERROR%s" "$tput_setaf_2" "$tput_sgr0"
-       errno=$1
-       comment=$2
+       printf >&2 "%sERROR%s" "$tput_setaf_1" "$tput_sgr0"
+       local errno="$1"
+       local comment="$2"
        shift 2
+       local var
        for var in "$@"
         do
-               val=$(eval printf %s "\"\${$var:-}\"" || false) || false
+               local val="$(eval printf %s "\"\${$var:-}\"" || false)" || false
                printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_bold$tput_setaf_0" "$val" "$tput_sgr0"
         done
        printf >&2 ": %s%s%s\n" "$tput_rev" "$comment" "$tput_sgr0"
-       $set
-       exit $1
+       exit $errno
+ }
+assert () {
+       local -
+       set +x
+       local eval="$1"; shift
+       local type="assertion failure"
+       eval "$eval" ||
+       error $? "$eval" type "$@"
  }