On Sun, Jan 08, 2012 at 10:04:20PM +1000, Allan McRae wrote:
Declaring the variable as local on the same line as the assignment results in result of the assignment being returned rather than the result of the function on the righthand side of the assignment.
Declaring the variable as local on a separate line means the result of the function on the r.h.s. is returned and our error function will be invoked if necessary (although it is practically impossible to ever trigger it...).
Signed-off-by: Allan McRae <allan@archlinux.org> ---
@Dave: is my explanation correct there?
Spot on.
scripts/makepkg.sh.in | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index b06c78a..cfdb530 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -624,7 +624,8 @@ generate_checksums() {
local netfile for netfile in "${source[@]}"; do - local file="$(get_filepath "$netfile")" || missing_source_file "$netfile" + local file + file="$(get_filepath "$netfile")" || missing_source_file "$netfile" local sum="$(openssl dgst -${integ} "$file")" sum=${sum##* } (( ct )) && echo -n "$indent" -- 1.7.8.1