Mail Archives: djgpp-workers/2002/12/31/09:56:45
According to Richard Dawe:
> > > --- gnu.dev/filutil4.1-rel/src/ls.c 2002-10-06 10:33:32.000000000 +0000
> > > +++ gnu.dev/filutil4.1-rel.work/src/ls.c 2002-12-18 16:54:04.000000000 +0000
> > > @@ -2155,6 +2155,13 @@ make_link_path (const char *path, const
> > > if (linkname == 0)
> > > return 0;
> > >
> > > +#ifdef MSDOS
> > > + /* Any filename with a drive specification should be
> > > + * treated as an absolute pathname on MS-DOS. */
> > > + if (linkname[0] && (linkname[1] == ':'))
> > > + return xstrdup (linkname);
> > > +#endif
> >
> > Uhoh! That's not true. If in COMMAND.COM I do "a:
> > cd \dos
> > c:
> > cp aaa.tst a:" I think aaa.tst should go into a:/dos not into a:/. At
> > least that's what's been happening to me with some version cp while
> > I've been moving files between computers which doesn't have a network
> > connection.
>
> I'm not saying c:foo is an absolute path. The code in make_link_path should
> /treat/ it like an absolute path. If the path is relative, it prepends the
> current path. If the path is absolute it leaves it as-is. The case of c:foo we
> have something inbetween, but we treat it as absolute, since we can't prepend
> the current path.
Ah! I think I see. The result is a relative path although treated like
an absolute, which it must be otherwise it wouldn't stay a relative
path. (Oh dear, I'm getting dizzy!)
Then all is right.
Right,
MartinS
- Raw text -