From 2091f7ab163926cdc6e6d5bfb1195ff36a6119a4 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Tue, 3 Sep 2013 15:47:10 -0400 Subject: makepkg: inline creation of checksum indenting With some simple math and printf formatting tokens, we can create the whitespace necessary for this without the need for a loop and string concatentation. Signed-off-by: Dave Reisner Signed-off-by: Allan McRae --- scripts/makepkg.sh.in | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 5a74b3ed..0825600f 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1146,14 +1146,8 @@ generate_checksums() { fi local ct=0 - local numsrc=${#source[@]} - printf "%s" "${integ}sums=(" - - local i - local indent='' - for (( i = 0; i < ${#integ} + 6; i++ )); do - indent="$indent " - done + local indentsz numsrc=${#source[@]} + printf "%s%n" "${integ}sums=(" indentsz local netfile for netfile in "${source[@]}"; do @@ -1176,10 +1170,11 @@ generate_checksums() { ;; esac - (( ct )) && printf "%s" "$indent" - printf "%s" "'$sum'" - ct=$(($ct+1)) - (( $ct < $numsrc )) && echo + # indent checksum on lines after the first + printf "%*s%s" $(( ct ? indentsz : 0 )) '' "'$sum'" + + # print a newline on lines before the last + (( ++ct < numsrc )) && echo done echo ")" -- cgit v1.2.3-70-g09d2