Received: from biscayne-one-station.mit.edu (BISCAYNE-ONE-STATION.MIT.EDU [18.7.7.80]) by krbdev.mit.edu (8.9.3p2) with ESMTP id QAA19624; Tue, 14 Mar 2006 16:47:56 -0500 (EST) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by biscayne-one-station.mit.edu (8.12.4/8.9.2) with ESMTP id k2ELlrP2009918; Tue, 14 Mar 2006 16:47:54 -0500 (EST) Received: from [18.18.1.160] (NOME-KING.MIT.EDU [18.18.1.160]) (authenticated bits=0) (User authenticated as raeburn@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.1/8.12.4) with ESMTP id k2ELlktL023560 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT); Tue, 14 Mar 2006 16:47:47 -0500 (EST) In-Reply-To: References: MIME-Version: 1.0 (Apple Message framework v746.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: Ken Raeburn Subject: Re: [krbdev.mit.edu #3522] Error code definitions are outside macros to prevent multiple inclusion in public headers Date: Tue, 14 Mar 2006 16:47:52 -0500 To: rt-comment@krbdev.mit.edu X-Mailer: Apple Mail (2.746.2) X-Spam-Score: 1.217 X-Spam-Level: * (1.217) X-Spam-Flag: NO X-Scanned-BY: MIMEDefang 2.42 RT-Send-Cc: X-RT-Original-Encoding: us-ascii Content-Length: 839 On Mar 14, 2006, at 14:11, Alexandra Ellwood via RT wrote: > For example in krb5.h the error codes are appended after the > "#endif /* KRB5_GENERAL__ */" > > This isn't actually causing problems for normal usage of our > headers. However, I want to switch > to using these headers on KfM (rather than the ones KfM > autogenerates for itself). Having the > error code definitions outside the macros to prevent multiple > inclusion would be a change from > what KfM's headers do. Since redefinitions to the same expansion are valid, this should only be a problem if some code includes krb5.h (or whatever), redefines one of the error code macros to something else, and then includes krb5.h again. (Or, maybe, include krb5.h, undef a macro, include krb5.h again, test to see if macro is defined.) Is that case important?