Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!nrl-cmf!ames!ucbcad!ucbvax!hplabs!pyramid!prls!mips!dce From: dce@mips.UUCP (David Elliott) Newsgroups: comp.unix.wizards Subject: Re: To . or not to . Message-ID: <905@quacky.UUCP> Date: Fri, 13-Nov-87 13:57:46 EST Article-I.D.: quacky.905 Posted: Fri Nov 13 13:57:46 1987 Date-Received: Sun, 15-Nov-87 10:26:18 EST References: <648@tut.cis.ohio-state.edu> <9171@mimsy.UUCP> <972@tut.cis.ohio-state.edu> <9363@tekecs.TEK.COM> Reply-To: dce@quacky.UUCP (David Elliott) Organization: MIPS Computer Systems, Sunnyvale, CA Lines: 32 In article <9363@tekecs.TEK.COM> snoopy@doghouse.gwd.tek.com (Snoopy) writes: >In article <972@tut.cis.ohio-state.edu> lvc@tut.cis.ohio-state.edu (Lawrence V. Cipriani) writes: >>This nice thing about doing it this way is that you can be a little >>sloppy in your program and it will still work. I admit it I'm lazy! >>And what is the harm anyway? > >The harm is that this is not portable. With UTek's DFS, //a refers to the >root directory on a machine called 'a'. I've seen articles indicating >that Apollo's multi-machine file system (whatever they call their version) >uses the same syntax. (Is anyone familiar with Apollo out there?) > >Sloppy programming is not a good idea. It's even more unportable, since the Apollo semantics differ when there are more than two slashes. That is //a means the root on machine 'a'. ///a means the same on the Apollo, but with DFS it means the same thing as /a. This allowed us to quickly fix sloppy code by changing sprintf's that use things like sprintf(path, "%s/%s", ...) to use //, though I think we tried to fix them all the right way. In addition, we changed the home of users like root to be "/.", so that programs that use "$HOME/path" wouldn't produce "//path" for root. I have mixed feelings about all of this, but I do hope that the V8 style (/n/host/...) will win out. -- David Elliott dce@mips.com or {ames,decwrl,prls}!mips!dce