[PATCH] test-skeleton: redirect stderr to stdout

Mike Frysinger vapier@gentoo.org
Thu Jun 16 15:09:00 GMT 2016


On 16 Jun 2016 14:56, Andreas Schwab wrote:
> Zack Weinberg writes:
> > On Thu, Jun 16, 2016 at 12:48 AM, Mike Frysinger wrote:
> >> +  fclose (stderr);
> >> +  dup2 (STDOUT_FILENO, STDERR_FILENO);
> >> +  stderr = fdopen (STDERR_FILENO, "w");
> >
> > Wouldn't the dup2 be sufficient by itself?  And then you don't have to
> > worry about allocation failure in fdopen.
> >
> > Also a setbuf(stderr, NULL) is probably appropriate.
> 
> Also, assigning stderr is a nono.

portability-wise, you are correct.  it works under glibc though.

the only other way to change one of these is to use freopen() and
that requires a FS path, and that's less portable to construct, and
less reliable to use (since FS perms are checked at open() time but
not at dup() time).
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160616/09124fa5/attachment.sig>


More information about the Libc-alpha mailing list