X-Git-Url: http://www.git.stargrave.org/?p=zsh-autoenv.git;a=blobdiff_plain;f=autoenv.zsh;fp=autoenv.zsh;h=538e92fcb1db2c30f469f734729ac654934e9216;hp=2164bd37135f67a92030d83d2199d98026162e55;hb=51c7421f101c2b86479ab2cc5bcb63b68080dcaa;hpb=84bb32a4035090a73071477f1bf7abe1d323f949 diff --git a/autoenv.zsh b/autoenv.zsh index 2164bd3..538e92f 100644 --- a/autoenv.zsh +++ b/autoenv.zsh @@ -172,6 +172,7 @@ _autoenv_hash_pair() { local env_file=${1:A} local cksum_version=${2:-2} local env_cksum=${3:-} + ret_pair= if [[ -z $env_cksum ]]; then if ! [[ -e $env_file ]]; then echo "Missing file argument for _autoenv_hash_pair!" >&2 @@ -187,7 +188,7 @@ _autoenv_hash_pair() { return 1 fi fi - echo ":${env_file}:${env_cksum}:${cksum_version}" + ret_pair=":${env_file}:${env_cksum}:${cksum_version}" } @@ -201,14 +202,14 @@ _autoenv_authorized_pair() { _autoenv_authorized_env_file() { local env_file=$1 - local pair - pair=$(_autoenv_hash_pair $env_file) - _autoenv_debug "v2 pair: ${pair}" - if ! _autoenv_authorized_pair $pair; then + local ret_pair + _autoenv_hash_pair $env_file + _autoenv_debug "v2 pair: ${ret_pair}" + if ! _autoenv_authorized_pair $ret_pair; then # Fallback for v1 (SHA-1) pairs - pair=$(_autoenv_hash_pair $env_file 1) - _autoenv_debug "v1 pair: ${pair}" - if _autoenv_authorized_pair $pair; then + _autoenv_hash_pair $env_file 1 + _autoenv_debug "v1 pair: ${ret_pair}" + if _autoenv_authorized_pair $ret_pair; then # Upgrade v1 entries to v2 _autoenv_authorize $env_file else @@ -221,7 +222,10 @@ _autoenv_authorize() { local env_file=${1:A} _autoenv_deauthorize $env_file [[ -d ${AUTOENV_AUTH_FILE:h} ]] || mkdir -p ${AUTOENV_AUTH_FILE:h} - _autoenv_hash_pair $env_file >>| $AUTOENV_AUTH_FILE + { + local ret_pair + _autoenv_hash_pair $env_file && echo "$ret_pair" + } >>| $AUTOENV_AUTH_FILE } # Deauthorize a given filename, by removing it from the auth file.