set_colors(): suppress "/dev/tty: No such device"
authorZac Medico <zmedico@gentoo.org>
Sun, 18 Dec 2011 22:13:30 +0000 (14:13 -0800)
committerZac Medico <zmedico@gentoo.org>
Sun, 18 Dec 2011 22:13:30 +0000 (14:13 -0800)
bin/isolated-functions.sh

index 1bcc5c90758863765421c26a37c15ea4a9f15707..9321ad59860b6d7c958d2280ef1cd59d6a3e44e7 100644 (file)
@@ -413,9 +413,11 @@ set_colors() {
        COLS=${COLUMNS:-0}      # bash's internal COLUMNS variable
        # Avoid wasteful stty calls during the "depend" phases.
        # If stdout is a pipe, the parent process can export COLUMNS
-       # if it's relevant.
+       # if it's relevant. Use an extra subshell for stty calls, in
+       # order to redirect "/dev/tty: No such device or address"
+       # error from bash to /dev/null.
        [[ $COLS == 0 && $EBUILD_PHASE != depend ]] && \
-               COLS=$(set -- $(stty size </dev/tty 2>/dev/null) ; echo $2)
+               COLS=$(set -- $( ( stty size </dev/tty ) 2>/dev/null || echo 24 80 ) ; echo $2)
        (( COLS > 0 )) || (( COLS = 80 ))
 
        # Now, ${ENDCOL} will move us to the end of the