Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 85182 invoked from network); 14 Oct 2007 23:35:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Oct 2007 23:35:18 -0000 Received: (qmail 17607 invoked by uid 500); 14 Oct 2007 23:35:05 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 17570 invoked by uid 500); 14 Oct 2007 23:35:05 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 17559 invoked by uid 99); 14 Oct 2007 23:35:05 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 14 Oct 2007 16:35:05 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lucian.grijincu@gmail.com designates 64.233.184.229 as permitted sender) Received: from [64.233.184.229] (HELO wr-out-0506.google.com) (64.233.184.229) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 14 Oct 2007 23:35:08 +0000 Received: by wr-out-0506.google.com with SMTP id 50so659030wri for ; Sun, 14 Oct 2007 16:34:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=/pT3P+BRK/bcpZczu9+M0tG9JfEbR0ibnsw8FUgx13Y=; b=HmaYIAeAnezwhHwe+HafX9ubzso5JyhRA39Yu97lsJw9WBiGvKK2Vg6aWOIcv3zazRv9BC8BSehFLMv/em2BXdW7nHZbH5M/FMU78XogAhvb0pj1bvggkdf906oXuqzWlJRACnUkiPXQxsGiOYHyzTSoEvhSP/4zzmljgNOTGKw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=QYh9DRx09ZempcupCmmf9BbT7NELkc5mOkeshJrgWCBQOqiadGJEPl0pc9tA1qBcoIDNVcX5DpNxR+rhK+0M1UY3KXRQXcg0sahg4m1gDDSYxJqySnkmxa9R1EUenThBw2NP/oAeKzBhvN+d1AwgjM6s3tAX6LEekp08crDvNf0= Received: by 10.90.55.16 with SMTP id d16mr7844958aga.1192404886966; Sun, 14 Oct 2007 16:34:46 -0700 (PDT) Received: by 10.90.63.7 with HTTP; Sun, 14 Oct 2007 16:34:46 -0700 (PDT) Message-ID: Date: Mon, 15 Oct 2007 02:34:46 +0300 From: "Lucian Adrian Grijincu" To: "William A. Rowe, Jr." Subject: Re: Simpler solution to moving apr_ino_t from apr_file_info.h to apr.h? Cc: "APR Developer List" In-Reply-To: <47127FB5.40408@rowe-clan.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <47127FB5.40408@rowe-clan.net> X-Virus-Checked: Checked by ClamAV on apache.org On 10/14/07, William A. Rowe, Jr. wrote: > Attached patch avoids the only remaining argument to moving the typedef > over to apr.h, that a developer would trip over a module authored to apr 1.2.12 > and discover it won't compile on apr 1.2.0. > > Of course apr_* is our namespace, so a developer using such symbols is already > rolling the dice. > > Example patch attached. > > Simple test case; > > #include > #include > > int main(int argc, const char * const * argv, const char * const *env) > { > apr_ino_t dont_do_this; > } > > Results in > > /bin/sh /local0/asf/build/apr-1.2/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT > -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I../include -I./../include -o testapp.lo -c testapp.c && touch testapp.lo > testapp.c: In function 'main': > testapp.c:6: error: 'apr_unknown_apr_ino_t__must_include_apr_file_io_h' undeclared (first use in this function) > testapp.c:6: error: (Each undeclared identifier is reported only once > testapp.c:6: error: for each function it appears in.) > testapp.c:6: error: expected ';' before 'dont_do_this' > > > I really think that would be sufficient to enforce our versioning policy, no? > > Bill > > The biggest advantage your method (quite an impressive one, nicely done!) has is that it can place apr_ino_t in a more proper place, not at the end of the apr.h header as mine did. I'm all in for this patch. -- Lucian.