From owner-cvs-all Tue Apr 9 13:56:29 2002 Delivered-To: cvs-all@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id 2DA7437B404; Tue, 9 Apr 2002 13:56:22 -0700 (PDT) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id g39KuCi98758; Tue, 9 Apr 2002 14:56:12 -0600 (MDT) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (localhost [127.0.0.1]) by harmony.village.org (8.11.6/8.11.6) with ESMTP id g39KuCc31597; Tue, 9 Apr 2002 14:56:12 -0600 (MDT) (envelope-from imp@harmony.village.org) Message-Id: <200204092056.g39KuCc31597@harmony.village.org> To: John Baldwin Subject: Re: cvs commit: src/sys/sys ioccom.h Cc: "David O'Brien" , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, kris@obsecurity.org, Alfred Perlstein In-reply-to: Your message of "Tue, 09 Apr 2002 16:27:20 EDT." References: Date: Tue, 09 Apr 2002 14:56:12 -0600 From: Warner Losh 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 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. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message