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>