freebsd-skq/usr.bin/find
Ruslan Ermilov 7fd5ee41e3 The implementation of -flags was broken and did not match the (poorly)
documented behavior.  Only a certain set of file flags were recognized,
and "no" flags did not match files that have corresponding flags bits
turned off.

Fix and extend the -flags functionality as follows:

: -flags [-|+]<flags>,<notflags>
:    The flags are specified using symbolic names (see chflags(1)).
:    Those with the "no" prefix (except "nodump") are said to be
:    <notflags>.  Flags in <flags> are checked to be set, and flags in
:    <notflags> are checked to be not set.  Note that this is different
:    from -perm, which only allows the user to specify mode bits that
:    are set.
:
:    If flags are preceded by a dash (``-''), this primary evaluates
:    to true if at least all of the bits in <flags> and none of the bits
:    in <notflags> are set in the file's flags bits.  If flags are pre-
:    ceded by a plus (``+''), this primary evaluates to true if any of
:    the bits in <flags> is set in the file's flags bits, or any of the
:    bits in <notflags> is not set in the file's flags bits.  Otherwise,
:    this primary evaluates to true if the bits in <flags> exactly match
:    the file's flags bits, and none of the <flags> bits match those of
:    <notflags>.

MFC after:	2 weeks
2001-09-04 16:09:01 +00:00
..
extern.h Remove emalloc and expand to the malloc + error checking it was, where used. 2001-07-24 14:12:05 +00:00
find.1 The implementation of -flags was broken and did not match the (poorly) 2001-09-04 16:09:01 +00:00
find.c They add the following commands: 2001-05-03 18:05:35 +00:00
find.h The implementation of -flags was broken and did not match the (poorly) 2001-09-04 16:09:01 +00:00
function.c The implementation of -flags was broken and did not match the (poorly) 2001-09-04 16:09:01 +00:00
ls.c They add the following commands: 2001-05-03 18:05:35 +00:00
main.c Implement the following options and primaries: 2001-02-23 16:20:55 +00:00
Makefile They add the following commands: 2001-05-03 18:05:35 +00:00
misc.c Remove emalloc and expand to the malloc + error checking it was, where used. 2001-07-24 14:12:05 +00:00
operator.c Quiet a [useless] compiler warning. 2001-07-23 23:27:28 +00:00
option.c They add the following commands: 2001-05-03 18:05:35 +00:00