From 900da04efa929a9373d5a6f3f56f8b8ac8f193df Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 19 May 2025 19:57:06 +0100 Subject: tree.sh: fix up copy_elf(), bad for loop Because of how sh works, having just the [] line causes sh to exit, annoyingly without an error message, but it does cause a non-zero exit. This bug will have already been triggering, before I added the recent error handling on files for this for loop. also do it to the other loop in lib.sh Signed-off-by: Leah Rowe --- include/lib.sh | 2 +- include/tree.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/lib.sh b/include/lib.sh index 184d0491..7c4d71ea 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -111,7 +111,7 @@ fx_() dx_() { [ ! -f "$2" ] || while read -r fx; do - $1 "$fx" || return 1 + $1 "$fx" || return 1; : done < "$2" || err "dx_ $*: cannot read '$2'"; : } diff --git a/include/tree.sh b/include/tree.sh index 9dccf857..8d787d4c 100644 --- a/include/tree.sh +++ b/include/tree.sh @@ -334,7 +334,7 @@ copy_elf() { [ -f "$listfile" ] && x_ mkdir -p "$dest_dir" [ ! -f "$listfile" ] || while read -r f; do - [ -f "$srcdir/$f" ] && x_ cp "$srcdir/$f" "$dest_dir" - done < "$listfile" || err "copy_elf $*: cannot read '$listfile'" + [ -f "$srcdir/$f" ] && x_ cp "$srcdir/$f" "$dest_dir"; : + done < "$listfile" || err "copy_elf $*: cannot read '$listfile'"; : x_ make clean -C "$srcdir" $cleanargs } -- cgit v1.2.1