Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 44223 invoked from network); 14 Mar 2011 17:33:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 14 Mar 2011 17:33:08 -0000 Received: (qmail 64280 invoked by uid 500); 14 Mar 2011 17:33:07 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 64224 invoked by uid 500); 14 Mar 2011 17:33:07 -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 64216 invoked by uid 99); 14 Mar 2011 17:33:07 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Mar 2011 17:33:07 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [74.125.82.178] (HELO mail-wy0-f178.google.com) (74.125.82.178) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Mar 2011 17:33:00 +0000 Received: by wyj26 with SMTP id 26so5400373wyj.37 for ; Mon, 14 Mar 2011 10:32:38 -0700 (PDT) Received: by 10.227.200.75 with SMTP id ev11mr11493417wbb.56.1300123958322; Mon, 14 Mar 2011 10:32:38 -0700 (PDT) Received: from Quad (ip92-186-173-82.adsl2.static.versatel.nl [82.173.186.92]) by mx.google.com with ESMTPS id w25sm2730758wbd.5.2011.03.14.10.32.36 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 14 Mar 2011 10:32:37 -0700 (PDT) From: "Bert Huijben" To: "'William A. Rowe Jr.'" , "'APR Developer List'" References: <4D7BE1EA.40005@rowe-clan.net> <004d01cbe248$1e978400$5bc68c00$@qqmail.nl> <4D7E3ECF.2030504@rowe-clan.net> <040901cbe26a$ec4f6cb0$c4ee4610$@qqmail.nl> <4D7E4EAB.5080109@rowe-clan.net> In-Reply-To: <4D7E4EAB.5080109@rowe-clan.net> Subject: RE: apr 1.4.3, apr-util 1.3.11 Date: Mon, 14 Mar 2011 18:32:39 +0100 Message-ID: <040b01cbe26d$d19756a0$74c603e0$@qqmail.nl> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 14.0 thread-index: AQHde2g1BbCRXn2ph4SktriyiqKNnQLC15vWAbV1ErkBfqfvhwHIRUCoAvOt+zaTtEq9UA== Content-Language: nl > -----Original Message----- > From: William A. Rowe Jr. [mailto:wrowe@rowe-clan.net] > Sent: maandag 14 maart 2011 18:22 > To: Bert Huijben; APR Developer List > Subject: Re: apr 1.4.3, apr-util 1.3.11 >=20 > On 3/14/2011 12:11 PM, Bert Huijben wrote: > >> > >> Sorry to have left it hanging. > > > > As long as it properly fixes the testcase added with this patch, I = really don't > mind a better fix. > > > > Normally you get in this state before starting the application that = uses Apr; > not from inside the application (see the original thread from November > 2009). So getting in the error state is not an application error! > > But reproducing it that way would require a more extensive test. >=20 > Well, what I want to clarify is that, with this patch, does *your* = application > actually work comparing C:/Program Files from c:/progra~1/ from > C:\PROGRAM FILES > etc? If not, this was a mis-application of apr's comparison API. If = it does, > then this fix (or something related, perhaps fixing = apr_filepath_get()) might > be more appropriate. These examples don't apply to this change. It just makes "C:\PROGRAM FILES" equivalent to "c:\PROGRAM FILES" in = this specific check deep inside apr_filepath_merge(). Any other change = would make it unequal. It fixes that single letter compare of the drive letter which caused = the merge filepath api to choke on the example I added as a testcase. When your current directory happens to be "c:\hello" instead of = "C:\hello" then you can't use apr_filepath_merge() without this patch.=20 Any application that uses apr_filepath_merge() to get an absolute path = from a relative path is broken.... but only if the current directory = before starting the application is based on a lower case drive letter. This is not a common condition, but this patch just fixes that specific = error condition. It doesn't alter the comparison of paths.... It fixes an API bug. Bert