Mail Archives: djgpp-workers/2002/12/30/19:28:17
According to Richard Dawe:
> Below is a patch for 'ls' from fileutils 4.1. It's another case
> where the path handling needs to be updated to cope
> with DOS-style absolute paths.
>
> This patch is important, because the test suite uses symlinks
> extensively and uses 'ls' to check that 'cp', 'mv', etc.
> handle symlinks correctly.
...
> --- 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 think for an absolute path in DOZE should start with / or X:/. (And
a really really absolute path must start with X:/, although I won't
push that.)
Right,
MartinS
- Raw text -