|
From: | Paul Eggert |
Subject: | Re: [GNU Autoconf 2.72e] testsuite: 11 119 261 failed on Solaris 11.4 x86 |
Date: | Tue, 2 Jan 2024 11:21:11 -0800 |
User-agent: | Mozilla Thunderbird |
On 2024-01-02 10:40, Alan Coopersmith wrote:
On 12/21/23 13:46, Alan Coopersmith wrote:On Solaris 11.4, /bin/sh is currently a somewhat modified ksh93u+ - we're working to resync with the new community upstream still. In that shell, when I run: printf "test" </dev/null >/dev/full it prints nothing and $? is set to 0. The same happens with /usr/bin/printf instead of the shell builtin.The engineer working to resync our ksh93 with the latest upstream code from https://github.com/ksh93/ksh has confirmed this is already fixed upstream for the ksh builtin. From a quick look, this appears to be thanks to https://github.com/ksh93/ksh/commit/93e15a303585df3ecf8184818f2d5ff569ff2ba1 but https://github.com/ksh93/ksh/issues/313 notes that work remains for other builtins.
Unfortunately that ksh93 still isn't working for printf. After I built its current commit 799324b1ffcc2deb55c72547baa1b5ab5918a651 on Fedora 39:
$ ksh -c 'printf "xyzzy\n" || printf "ouch\n" >&2' >/dev/full ouch xyzzy $ Whereas Bash 5.2.21(1) does the right thing: $ bash -c 'printf "xyzzy\n" || printf "ouch\n" >&2' >/dev/full bash: line 1: printf: write error: No space left on device ouchstrace indicates that the ksh93 attempts to write "xyzzy\n" four times (!) to standard output and eventually gives up, redirects stderr to stdout, and writes "xyzzzy\n" successfully to stderr.
What a mess, huh?
[Prev in Thread] | Current Thread | [Next in Thread] |