On Thu, Aug 04, 2005 at 06:54:40PM +0100, Geoff Clare wrote:
> James,
> 
> I tried out the findutils version that uses fts.  The only problem I
> found was that it doesn't report some errors.  For example:
> 
> $ mkdir -p find1/xperm
> $ mkdir find1/noxperm
> $ chmod a-x find1/noxperm
> $ find-fts find1 -print
> find1
> find1/xperm
> find1/noxperm
> $ echo $?
> 0

Thanks for testing this.   Your help is appreciated.

I suppose strictly speaking this is OK, since readdir() on
find1/noxperm (since it has "r" permission) reveals that it is empty,
and so there is no need to chdir() into it.  

However, I have updated ftsfind.c to improve the error messages it
issues.  With these improvements it does issue an error message for
the following test case:

  chmod -R +x find1; rm -rf find1
  set -ex
  mkdir -p find1/noxperm/dir
  chmod -x find1/noxperm
  ./find find1/noxperm -print

I get the following output :-

  + mkdir -p find1/noxperm/dir
  + chmod -x find1/noxperm
  + ./find --version
  GNU find version 4.3.0-CVSFTS
  Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS
  + ./find find1/noxperm -print
  find1/noxperm
  ./find: find1/noxperm: Permission denied

The CVS revision number of ftsfind.c I tried this with is 1.1.2.3.  No
error message is issued for the test case you provided, though.  My
thinking is that this is a legitemate difference of implementation
between find.c and ftsfind.c.

Regards,
James.



_______________________________________________
Bug-findutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-findutils

Reply via email to