-progress_update ()
-{
- THIS="$1"
- FIRST="$2"
- LAST="$3"
- arith_eval $LAST - $FIRST; RANGE=$arith_val
- arith_eval $THIS - $FIRST; PROG=$arith_val
- # this automatically rounds to nearest integer
- arith_eval 100 \* $PROG / $RANGE; PERC=$arith_val
- # note \r so next update will overwrite
- printf "%3d%%\r" $PERC
+if [ -t 1 ] ; then
+ progress_update ()
+ {
+ THIS="$1"
+ FIRST="$2"
+ LAST="$3"
+ arith_eval $LAST - $FIRST; RANGE=$arith_val
+ arith_eval $THIS - $FIRST; PROG=$arith_val
+ # this automatically rounds to nearest integer
+ arith_eval 100 \* $PROG / $RANGE; PERC=$arith_val
+ # note \r so next update will overwrite
+ printf '%3d%%\r' $PERC
+ }
+
+ progress_done ()
+ {
+ printf '100%%\n'
+ }
+else
+ # don't emit anything if stdout is not connected to a tty.
+ progress_update ()
+ {
+ :
+ }
+ progress_done ()
+ {
+ :
+ }
+fi
+
+check_for_hard_links () {
+ set +e
+
+ printf '' > "${MH_TEST_DIR}/$$-1"
+ if link "${MH_TEST_DIR}/$$-1" "${MH_TEST_DIR}/$$-2" 2>/dev/null; then
+ hard_links_supported=1
+ else
+ hard_links_supported=0
+ fi
+ rm -f "${MH_TEST_DIR}/$$-1" "${MH_TEST_DIR}/$$-2"
+
+ set -e