Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 09 Apr 2002 14:56:12 -0600
From:      Warner Losh <imp@harmony.village.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        "David O'Brien" <obrien@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, kris@obsecurity.org, Alfred Perlstein <bright@mu.org>
Subject:   Re: cvs commit: src/sys/sys ioccom.h 
Message-ID:  <200204092056.g39KuCc31597@harmony.village.org>
In-Reply-To: Your message of "Tue, 09 Apr 2002 16:27:20 EDT." <XFMail.20020409162720.jhb@FreeBSD.org> 
References:  <XFMail.20020409162720.jhb@FreeBSD.org>  

next in thread | previous in thread | raw e-mail | index | archive | help
In message <XFMail.20020409162720.jhb@FreeBSD.org> John Baldwin writes:
: Warner did already.  The de- __P()'ing did because the regex they use to find
: function prototypes in the system headers didn't match the de- __P()'d
: prototypes.  This was the same breakage that broke hylafax and vim according to
: Warner's earlier e-mail.

Actually, that's not entirely accurate.  The de-__P()ing caused a
problem with programs that unwisely defined an ioctl macro before
include sys/ioctl.h.  As a work around for that, I made the prototype
int (ioctl)(etc);  rather than put the __P() back.  This caused an
unwanted side effect of chaning the regular expression that prototypes
from system headers matched slightly, which broke some programs
automatic configuraiton mechanisms when they couldn't find them in the
pre-processed output.  Since __P() resulted in something that did
match the pre-processed output, it was the 'safest' of all the
definitions in the face of non-conformant programs/proceedures in the
world.

I now have a good "why" for David's change, and am happy with it if he
wants to make it.  I would have never in a million years thought that
there were so many programs using a 'broken' regular expression for
thier autoconfiguration sequences.  Given that I've found at least 4
variations on this theme, I feel like I'm holding back the tide by
insisting on the int (ioctl) version.

Warner

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204092056.g39KuCc31597>