Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!apple!oliveb!mipos3!omepd!merlyn From: merlyn@iwarp.intel.com (Randal Schwartz) Newsgroups: comp.unix.questions Subject: Re: Symlinks and .. Message-ID: <5270@omepd.UUCP> Date: 27 Nov 89 19:58:55 GMT References: <2755@munnari.oz.au> <12407@ulysses.homer.nj.att.com> Sender: news@omepd.UUCP Reply-To: merlyn@iwarp.intel.com (Randal Schwartz) Organization: Stonehenge; netaccess via Intel, Hillsboro, Oregon, USA Lines: 25 In-reply-to: ekrell@hector.UUCP (Eduardo Krell) In article <12407@ulysses.homer.nj.att.com>, ekrell@hector (Eduardo Krell) writes: | ".." should be treated as a logical operator that moves you one level | closer to the root by stripping the last component off your current | working directory (which is whatever path you used to get to where | you are). This preserves the "/usr/foo/bar/.. == /usr/foo" paradigm. | | Besides, this is the only sensible interpreation of ".." on implementations | where ".." does not exist physically as a directory entry (which is | not required by POSIX). Well, let's take a look at that. Current unicies do not maintain a path to the current working directory... just a handle on the inode. Do you propose maintaining a real path throughout all chdir(2) calls? What if a portion of the path gets renamed? Does the path become invalid? (a new errno error: ECWDGONE == "The current directory is no longer valid".) Nope. ".." will probably mean what it means for a real long time. :-) Just another UNIX hacker, -- /== Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ====\ | on contract to Intel's iWarp project, Hillsboro, Oregon, USA, Sol III | | merlyn@iwarp.intel.com ...!uunet!iwarp.intel.com!merlyn | \== Cute Quote: "Welcome to Oregon... Home of the California Raisins!" ==/