[gnu.emacs.bug] superroot fix

shaddock@RTI.RTI.ORG (Mike Shaddock) (03/15/89)

There are several commercial and research products which are now using
the "superroot" concept of extending the current Unix directory
structure across a network.  The superroot is a directory above /
which contains entries for other systems on the network, and is
similar to // on Apollo systems.  FREEDOMNET, TRFS, the NewCastle
Connection, and serveral other products all use the superroot.
Unfortunately the pathname canonicalization code in fileio.c breaks on
superrooted systems.  The following is a patch for fileio.c to fix
this problem.
==================== cut here ====================
*** /tmp/,RCSt1013124	Mon Mar 14 13:20:02 1988
--- /tmp/,RCSt2013124	Mon Mar 14 13:20:04 1988
***************
*** 705,710 ****
--- 705,712 ----
  	       (p[2] == '/' || p[2] == 0))
  	p += 2;
        else if (!strncmp (p, "/..", 3)
+ 	       /* /.. at start of filename is meaningful on superroot systems */
+ 	       && o != target
  	       && (p[3] == '/' || p[3] == 0))
  	{
  	  while (o != target && *--o != '/')
==================== cut here too ====================