Another bug I noticed with dash-0.5.6-2.fc11.i586
is that it doesn't redirect from symlinks correctly
for background processes.

$ dash -c "tty < /dev/stdin&"
$ dash -c "tty < /dev/stdin"
/dev/pts/3
$ bash -c "tty < /dev/stdin&"
/dev/pts/3
$ dash -c "tty < $(readlink -f /dev/stdin)&"
/dev/pts/3

OK to apply the following?

Note redirecting from /dev/tty works also,
but I don't know if that's better or worse.

--- a/tests/mv/i-3
+++ b/tests/mv/i-3
@@ -34,10 +34,13 @@ chmod 0 g i || framework_failure
 ls /dev/stdin >/dev/null 2>&1 \
   || skip_test_ 'there is no /dev/stdin file'

-test -r /dev/stdin 2>&1 \
+# work around a dash bug redirecting from symlinks
+tty=$(readlink -f /dev/stdin)
+
+test -r "$tty" 2>&1 \
   || skip_test_ '/dev/stdin is not readable'

-mv f g < /dev/stdin > out 2>&1 & pid=$!
+mv f g < $tty > out 2>&1 & pid=$!

 # Wait up to 3.1s for the expected prompt
 check_overwrite_prompt()

Reply via email to