From: NRK Date: Sun, 19 Feb 2023 15:14:53 +0000 (+0600) Subject: nmv: ensure the tmpfile is cleaned up in all cases X-Git-Tag: v4.8~11^2 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=bc6a09475dd947bfc8a0fb4dbb15355f07eaba97;p=nnn.git nmv: ensure the tmpfile is cleaned up in all cases currently, there's a couple exit paths where the tmpfile doesn't get cleaned up. --- diff --git a/plugins/.nmv b/plugins/.nmv index bbbdafe7..eaebda6c 100755 --- a/plugins/.nmv +++ b/plugins/.nmv @@ -37,8 +37,6 @@ esac exit_status=0 -dst_file=$(mktemp "$TMPDIR/.nnnXXXXXX") - if nnn_use_selection "Rename"; then # shellcheck disable=SC2154 arr=$(tr '\0' '\n' < "$selection") @@ -65,6 +63,9 @@ fi lines=$(printf "%s\n" "$arr" | wc -l) width=${#lines} +dst_file=$(mktemp "$TMPDIR/.nnnXXXXXX") +trap 'rm -f "$dst_file"' EXIT + printf "%s" "$arr" | awk '{printf("%'"${width}"'d %s\n", NR, $0)}' > "$dst_file" items=("~") @@ -170,5 +171,4 @@ for item in "${items[@]}"; do $RM_UTIL "$item" done -rm "$dst_file" exit $exit_status