[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [ANN] LuaFileSystem 1.3.0 Released
- From: David Given <dg@...>
- Date: Mon, 29 Oct 2007 14:03:51 +0000
Andre Carregal wrote:
[...]
If you were in Windows, that would be all the information available,
but if you were in Unix you could then call lfs.symlinkattributes()
for more details.
Unfortunately, that's not the case.
In the *vast* majority of cases on Unix, when you stat a symlink, you're
really interested in the thing being pointed at, not the pointer itself.
That's why Unix's standard stat() syscall automatically dereferences
symlinks. If you want to look at the link itself, you need to use the
special lstat() syscall.
(In Prime Mover, which is based on Lua 5.0 and the Posix Lua library,
there was a bug where posix.stat() actually called lstat(). This caused
all sort of nasty (and difficult to track down...) behaviour, since
Prime Mover uses symlinks internally to store state.)
(And you're allowed to have symlinks pointing at symlinks, so just
adding a field for this-file-is-on-the-other-end-of-a-symlink doesn't
work either, I'm afraid.)
--
David Given
dg@cowlark.com