Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 578 invoked by uid 6000); 10 Jan 1998 19:00:57 -0000 Received: (qmail 571 invoked from network); 10 Jan 1998 19:00:56 -0000 Received: from valis.worldgate.com (marcs@198.161.84.2) by taz.hyperreal.org with SMTP; 10 Jan 1998 19:00:56 -0000 Received: from localhost (marcs@localhost) by valis.worldgate.com (8.8.7/8.8.7) with SMTP id MAA01577 for ; Sat, 10 Jan 1998 12:00:54 -0700 (MST) Date: Sat, 10 Jan 1998 12:00:54 -0700 (MST) From: Marc Slemko To: "new-httpd@apache.org" Subject: Re: os_canonical_filename() ? In-Reply-To: <199801101600.DAA18040@silk.apana.org.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org On Sun, 11 Jan 1998, Brian Havard wrote: > On Wed, 7 Jan 1998 08:11:31 -0700 (MST), Marc Slemko wrote: > > >On Wed, 7 Jan 1998, Brian Havard wrote: > > > >> While trying to sort out some case (in)sensitivity problems I came across the > >> os_canonical_filename() function. Can anyone explain just what it does and > >> why? Do I need to write one for OS/2? > > > >It tries to convert a path into some form that is considered canonical. > >The goal is that there should be no way for two paths to not be identical > >in a strcmp() and refer to the same thing. Obviously this would exclude > >symlinks, etc. as those really refer to different things. > > OK, so why is it necessary for Win32 but not for Unix? Have things like "." > and ".." already been dealt with? Relative vs absolute paths? Yes. /../, /./, //, etc. are all handled elsewhere for two reasons. One, they are not really entirely filesystem specific. Two, they were areound before os_canonical_filename. The only need for os_canonical_filename is on systems thta go "above and beyond" strangeness.