Richard Dawe <[EMAIL PROTECTED]> wrote:
> Hello.
>
> I'm trying to work out how tests/ls/follow-slink from fileutils 4.1 can
> pass/fail, in particular the command:
>
>     ls -L link 2> /dev/null && fail=1
>
> This dereferences the link 'link'. It seems this 'ls' command is expected to
> fail - presumably because the link is cyclic and some function will return
> ELOOP.
>
> 'link' is a cyclic symlink created like this:
>
>     ln -s link link || framework_failure=1
>
> In the DJGPP port of 'ln', this does nothing. No symlink is created - this is
> due to the DJGPP libc implementation of symlink(). So the 'ls -L' command
> fails and the test passes.

Thanks for the explanation.
If the DJGPP libc implementation of symlink really
works that way, then shouldn't it be fixed?

> Perhaps the test should do something like this?
>
>     ln -s link link || framework_failure=1
>     test -f link || framework_failure=1

That wouldn't work, since `test -f link' would fail even on
a unix-based system.  But this should detect the failure you describe:

      ls link || framework_failure=1

What version of DJGPP has this problem?

Jim


_______________________________________________
Bug-fileutils mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-fileutils

Reply via email to