DragonFly BSD
DragonFly users List (threaded) for 2010-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: pkgsrc bash-4.1 won't build

From: Max Herrgård <herrgard@xxxxxxxxx>
Date: Mon, 08 Feb 2010 13:41:00 +0100

Den 2010-02-08 09:00:02 skrev Steve O'Hara-Smith <steve@sohara.org>:

	I've just done a pkgsrc update and fired off a build of my packages
only to find that bash fails to build because of this bit of code:

# if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD,
# OpenBSD, Dra
gonFly, MacOS X, Cygwin */
if (result == 0)
/* Correct the invariants that fpurge broke.
<stdio.h> on BSD systems says:
"The following always hold: if _flags & __SRD, _w is 0."
If this invariant is not fulfilled and the stream is read-write but
currently writing, subsequent putc or fputc calls will write directly
into the buffer, although they shouldn't be allowed to. */
if ((fp->_flags & __SRD) != 0)
fp->_w = 0;
# endif

I can't get it to compile because of course FILE is unavailable,
but is the statement that DragonFly fpurge breaks an important invariant
correct ? If so fixing it in fpurge is of course trivial and I think
desirable - if not then I think bash should not be fixing it outside libc.

hi. rumko filed a pr for this: http://www.NetBSD.org/cgi-bin/query-pr-single.pl?number=42666. is it the same issue?


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]