From owner-cvs-all Tue Apr 9 14: 9: 6 2002 Delivered-To: cvs-all@freebsd.org Received: from mail.speakeasy.net (mail11.speakeasy.net [216.254.0.211]) by hub.freebsd.org (Postfix) with ESMTP id 9400737B419 for ; Tue, 9 Apr 2002 14:08:57 -0700 (PDT) Received: (qmail 30659 invoked from network); 9 Apr 2002 21:08:56 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail11.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 9 Apr 2002 21:08:56 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.11.6/8.11.6) with ESMTP id g39L9iv50199; Tue, 9 Apr 2002 17:09:44 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200204092056.g39KuCc31597@harmony.village.org> Date: Tue, 09 Apr 2002 17:08:47 -0400 (EDT) From: John Baldwin To: Warner Losh Subject: Re: cvs commit: src/sys/sys ioccom.h Cc: Alfred Perlstein , kris@obsecurity.org, cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org, "David O'Brien" Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 09-Apr-2002 Warner Losh wrote: > In message 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. Argh! Ok. I guess we should fix the misbehaving ports like X that try to define a ioctl macro instead. > Warner -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message