> On Friday 09 November 2007 08:39:56 Timothy Shimmin wrote:
>> > You mention -L/-P is like chown.
>> > However, -P for getattr isn't about not walking symlinks
>> > to directories,
>> > it's about skipping symlinks altogether, right?
> Hmm, -L and -P define which files and directories are visited, and -h
> whether we are looking at symlinks or the files they point to. The two
> concepts are orthogonal. -P is not about skipping symlinks, only
> recursing into them.
There is the concept of following the symlink for traversal versus
following the symlink to get the EA on.
So with -L should it just follow the symlink or look at the symlink first
and then follow it?
And will -h modify this behavior?
I'm still confused about the 1st difference in 062 output.
I wonder if the man pages can be clarified in this area :)
Okay, looked at the code.
no -h => stat, getxattr, listxattr
-h => lstat, lgetxattr, llistxattr
-P => skip symlinks (as soon as see them, then return from place in walk)
-L => process symlink and then opendir on symlink (hence follow/traverse it)
default => -L for argument (depth==1) and -P for subdirs (depth>1)
This was different than my intuition.
I am happy with -h.
For -P, I was expecting it to process symlink but not follow/traverse it,
I wouldn't think it should just skip them altogether (I realise the
man page says that).
For -L, I wasn't sure if it should process it first and then traverse
or simply just traverse.
So were these your intentions?
If so, the code seems to follow them but it would be nicer to
have more explanation in the man page.