Commit Graph

193 Commits

Author SHA1 Message Date
perry bf9831bfd2 Document -rm as an alias for -delete, and document that both -delete
and -rm are extensions.
2007-02-06 15:33:21 +00:00
elad a706fb0965 Add -delete from FreeBSD. 2007-02-06 13:25:01 +00:00
christos ca93cf9ea4 fix spello (from Anon Ymous) 2007-02-02 15:48:54 +00:00
wiz b7d64c2725 Fix typo. 2007-02-02 07:27:15 +00:00
christos a9ee9264a7 document -xdev [from Anon Ymous] 2007-02-01 19:00:16 +00:00
he cb49bdddc9 Adapt find to the move of string_to_flags() and flags_to_string() to
libutil.
2006-12-14 20:55:56 +00:00
christos 1dcd74fde3 eliminate alloca use. 2006-11-09 20:50:53 +00:00
tacha 7a76839cea All members of PLAN should be initialized. 2006-10-12 08:46:18 +00:00
apb 2eed134b40 De-__P(), remove trailing spaces, sprinkle a few const, WARNS=4. 2006-10-11 19:51:10 +00:00
apb bfb3f336ef Document "find ... -exec ... {} +". Also make some other minor updates.
Changes initially supplied by John Hawkinson in PR 20470, but edited by me.

/msg wizd: search for ".sp"
2006-10-07 17:06:28 +00:00
apb b90dcb5d01 Add support for "find ... -exec ... {} +".
The code is from John Hawkinson in PR 20470.  I adapted it to current,
and made some KNF and comment changes.
2006-10-07 17:04:02 +00:00
apb dbe2acacef Add some missing entries in lists, and some serial commas.
Inspired by PR 20470 from John Hawkinson.
2006-10-07 16:34:06 +00:00
uebayasi c9ce60a1ed PR32022 - Clarify find(1) syntax documentation about parenthesized expressions
and the -f option (explicit hierarchy specifier).  From "Sander Bos, with
credits to Peter Bex".

Bump date.
2006-09-23 05:03:33 +00:00
christos cdab3a7a06 More programs using efun. 2006-08-26 18:17:41 +00:00
mrg 084c052803 quell GCC 4.1 uninitialised variable warnings.
XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
2006-05-10 21:53:14 +00:00
jschauma a32f19d465 Add a new primary '-exit n':
This primary causes find to stop traversing the filesystem and
exit immediately if a previous condition was met.  If no value is
specified, the exit value will be 0, else n.  Note that other
primaries will be evaluated and acted upon before exiting.

Ok matt@, garbled@.
2006-02-20 16:31:02 +00:00
reed 9695cc3899 Add -false switch. From man page:
-false  This primary always evaluates to false.  This can be used follow-
        ing a primary that caused the expression to be true to make the
	expression to be false.  This can be useful after using a -fprint
	primary so it can continue to the next expression (using an -or
	operator, for example).

This was brought up on the tech-userlevel list in October.

Using -fprint on findutils or new NetBSD find(1) does not do what
I wanted. For example, if saving results of all files that start
with a vowel or saving results of all files owned by group operator,
then the list of files owned by group operator would not include
the files starting with a vowel.

findutils's find has a workaround for this with -false and also a
"," comma opeator. (I made add this comma operator later; you can use
the comma to perform multiple independent tests.)
2005-11-09 00:47:16 +00:00
elad 47ebf29d74 Revert, as requested by cube@. 2005-10-19 12:25:51 +00:00
elad 7f482dd3ce Strip trailing slashes before using the path.
PR/31869.
2005-10-19 12:17:22 +00:00
wiz 34cace8bd1 Bump date for previous. 2005-10-12 20:10:45 +00:00
reed 4129c05469 This adds -fprint function. The primary name "-fprint" (but not the
code) comes from findutils; it behaves the same.

From my manpage addition:

 -fprint filename
	This primary always evaluates to true.  This creates filename or
	overwrites the file if it already exists.  The file is created at
	startup.  It writes the pathname of the current file to this
	file, followed by a newline character.  The file will be empty if
	no files are matched.

Here is an example usage:

find /etc \( -name "*pass*" -fprint file1 \) -o \( -group operator -fprint file2 \) -o -name "w*"

Note that this example will NOT include entry in file2 if it is
matched in first expression. (This also is same behaviour as
findutils, and I have implemented a -false primary to handle that.
I will commit it later.)

This creates the file as command line argument parsing time.
If there is an error somewhere on that line, such as missing values
or mismatched parenthesis, then a file may still be created.
(Even if a later -fprint filename is unwritable.) This is similar
behaviour to findutils. (It has been suggested that this find could
be code to create the files in an extra stage after the command-line
argument parsing and before the actual function processing.)

I will add -fprintx and -fprint0 soon.

This was discussed on tech-userlevel.
2005-10-12 20:03:59 +00:00
christos c05266af8a fix setmode error handling. 2005-10-01 20:23:54 +00:00
mrg 3a96c9add9 add a "file" to the arguments that isn't enclosed in square brackets
making it clear that at least one file/directory argument is required
in both the manual and usage.  "find" with no args currently barfs but
these documents implied it would do something useful.
2005-08-10 06:51:24 +00:00
mycroft c860ec870a Use FD_CLOEXEC (for -exec). 2005-01-19 01:03:16 +00:00
atatat 4b9429a08d Attack of the whiteout police, including the "fix whitespace problems"
department followed by the "and fix the the ifdefs as well" brigade,
leading to a janitorial "just combine those two" strike team.
2004-12-28 05:11:07 +00:00
christos 6bd1d6d4db Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
2004-04-21 01:05:31 +00:00
lukem 5d3311e08a tweak roff in previous 2004-04-19 00:28:11 +00:00
lukem 3333d5f7f7 Use "sysctl vfs.generic.fstypes" to determine the list of available fstypes. 2004-04-19 00:18:46 +00:00
wiz e3366bb6be Bump date for previous, and sort a bit. 2004-03-31 01:46:22 +00:00
heas a7353cbe7c Mention -type w, which is coded as a synonym for W (whitespace). 2004-03-30 22:54:04 +00:00
heas 171a04291f Whitespace nit 2004-03-30 22:51:55 +00:00
heas 59d5c91fe0 Do not skip whiteout files returned by fts_read(), which only returns them if
requested.

Patch from Dave Huang in PR bin/5419.
2004-03-30 22:51:13 +00:00
agc 89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
provos ccc5fba3de Implement -iname for case insensitive matching on file names.
From freebsd/openbsd.  Approved by jaromir@, manu@, perry@.
2003-08-03 19:46:03 +00:00
itojun 28f506f3a2 strlcpy 2003-07-12 13:57:49 +00:00
wiz fb538fbb96 Change macro usage so it works correctly with 1.19. 2003-06-26 17:46:36 +00:00
yamt 0c0dee33b1 protect from signals properly.
(fix crashes when get SIGINFO.)
2003-05-22 15:48:44 +00:00
yamt 9847a81452 rename a global variable, 'entry', to 'g_entry'.
it was confusing because we have many local 'entry' variable.
2003-05-22 15:47:25 +00:00
wiz caa2d78a26 Add missing "to be". From Jim Bernard in PR 21008. 2003-04-04 19:21:21 +00:00
wiz 990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
jhawk c3ac22a6a8 markup: the ";" for -exec, -ok, and -execdir is a seperate word from
the last argument
2003-02-23 20:01:31 +00:00
jhawk 93fccbf4ba eleminate forward decl of 'struct stat' 2003-02-23 14:43:25 +00:00
jhawk d44b698645 delint: trailing commas in enum definitions are prohibitted
knf: instantiate macros with #define<TAB>, not <SPACE>, and also align.
2003-02-23 14:41:30 +00:00
jhawk e025cf984b Obey preceding - and + on -user when a numeric uid is specified (only).
Our behavior is now consistent with Solaris, and more useful than previous.
2003-01-30 10:49:18 +00:00
jhawk 980fe9aad7 Obey preceding - and + on -user when a numeric uid is specified (only).
Our behavior is now consistent with Solaris, and more useful than previous.

Unfortunately we end up strtol()-ing twice (once via atoi()) to avoid
changing find_parsenum().
2003-01-30 10:49:05 +00:00
matt 3e5306bedf With -printx also qoute $ and ` (since they are shell metacharaters). 2003-01-26 07:07:31 +00:00
provos 32b88027c7 use readlink with bufsize - 1; approved thorpej. 2002-10-19 20:33:17 +00:00
wiz d6eecef728 Lose a trailing space. 2002-10-01 11:04:12 +00:00
wiz 826d3a8737 Clean up after recent changes.
Some notes:
\- is for minus signs only.
Closing braces and punctuation after a macro should definitly not be
on the next line, but at the end of the macro line, separated with spaces
from the macro argument and each other. Otherwise, unwanted whitespace
appears.
2002-09-28 12:59:49 +00:00
grant 714cd00ddf bump date for latest changes. 2002-09-28 12:34:53 +00:00
thorpej 386e1779c2 Need <string.h>. 2002-09-27 23:29:12 +00:00
grant 2812905360 New sentence, new line and minor mdoc cleanup. 2002-09-27 16:56:53 +00:00
provos 9972ef9ff8 support for -empty, -execdir, -mindepth, -maxdepth to match other UNIX-like
systems.  based on work by tholo@openbsd.org.  approved by perry.
2002-09-27 15:56:25 +00:00
lukem 5d4973fe97 makefile delint. use NETBSDSRCDIR as appropriate 2002-09-18 14:00:33 +00:00
thorpej e1ed089ecd -path is an extension -- say so. 2002-09-16 19:24:59 +00:00
christos 5af793e752 Use LOGIN_NAME_MAX instead of UT_NAMELEN
delete include of utmp.h
2002-08-01 22:41:34 +00:00
ross 2a76afae02 Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:36:18 +00:00
kleink 4f0bdb5b24 Since we've already been down that road with -cnewer, support GNU find(1)'s
-anewer as well.
2001-12-02 12:46:39 +00:00
wiz 056d651038 Punctuation fix, sort SEE ALSO, sort sections, drop a .Pp. 2001-12-01 19:11:27 +00:00
wiz aded0d2cce Whitespace cleanup. 2001-12-01 16:43:07 +00:00
kleink e7566d6000 Add a "cnewer" primary which evaluates true if a file has a more recent
ctime than its argument.

From kre in PR bin/14802; originally suggested name was "updated" but
renamed due to GNU find(1) being prior art for this functionality.
2001-12-01 14:10:04 +00:00
enami 49f300855c Reallocate memory correctly while substituting the braces. 2001-09-21 07:11:33 +00:00
simonb 0e3b64a601 Back out previous vfork->fork change now that the cause of the problem
(execvp) has been fixed.
2001-09-18 05:11:15 +00:00
simonb 7a40d9c0cf Use fork() instead of vfork(). The child calls execvp(), which calls
strdup(), which calls malloc()...

Fixes problem with "find .. -exec" growing as reported by Kazushi Marukawa
on current-users@.
2001-09-14 08:19:25 +00:00
abs 9819b7e8e7 space after section number in .Xr 2001-07-06 18:12:02 +00:00
christos f6321b3b4d fixed nested externs 2001-02-05 01:53:48 +00:00
lukem c2b84904ae use %ll_ instead of the less standard %q_ 2001-01-04 23:05:54 +00:00
jdolecek b029146cfa move the -and option in options[] table where it alphabetically belongs,
so that -amin works again
this fixes bin/11251
2000-10-18 08:58:11 +00:00
enami e92c3f2867 - The type of return value of setmode is a void * and getmode takes it,
rather than mode_t *.
- Free the storage allocated by setmode unless it is obvious that program
  exits immediately.
2000-10-10 14:30:40 +00:00
enami 6fc4763861 If -H, clear FTS_LOGICAL and set FTS_PHYSICAL as well as FTS_COMFOLLOW.
If -L, clear FTS_PHYSICAL as well as FTS_COMFOLLOW.
2000-08-04 09:01:05 +00:00
kleink a1359f90c2 -s: Replace the reference to strcmp(3) with a functional description. 2000-07-11 06:47:21 +00:00
enami 2263e83df9 Fix typo. 2000-03-16 18:56:41 +00:00
enami 1ab3345f20 Compare the return value of getopt(3) against -1 rather than EOF.
(while i'm here, one more cosometic change is performed).
2000-03-16 18:47:48 +00:00
enami 7b4bdbc144 Cosmetic changes. 2000-03-16 18:44:29 +00:00
itohy f1042d894e Add -s in usage. 2000-03-13 08:21:36 +00:00
kleink 41ab7b6729 Use strcoll() to sort directory entries. 2000-03-10 14:50:36 +00:00
itohy 4f844cd4ec Describe -s (sort) option.
Corrections are highly appreciated.
2000-03-10 11:49:14 +00:00
itohy 6baa6f27af Add -s (sort) option, which causes entries in each directory sorted.
Similar to FreeBSD's.
2000-03-10 11:46:04 +00:00
drochner 85cbf55d16 Since our gcc doesn't warn about NULL format strings anymore, we can
fix the incorrect err(1, "%s", "") et al.
Closes PR bin/7592 by cgd.
1999-11-09 15:06:30 +00:00
kleink 13ca730983 Mention -iregex and -regex primaries being non-standard extensions. 1999-07-20 09:02:24 +00:00
cgd 91ff0a1b87 add -regex and -iregex primaries which, like GNU find's primaries of the
same name, match files' entire paths against regular expressions.
-regex is case sensitive, -iregex is case-insensitive.  Note that these
primaries are _not_ entirely compatible with the GNU find primaries,
because their BREs appear to support alternation with \| whereas our BREs
do not.  Also note there are no primaries which provide extended regular
expressions matching, though if they are desired they would be trivial
to implement.
1999-07-20 01:28:41 +00:00
simonb bf92a11622 Add '-h' to synopsis - from Nathan Williams. 1999-04-30 00:52:58 +00:00
simonb d8b807ed6d Add 'h' to optstring. Fixes PR 7492 from Tom Trebisky. 1999-04-29 02:23:58 +00:00
mycroft 1b3538d0ea Fix minor formatting error. 1999-03-07 00:12:13 +00:00
kleink a9db8146da Don't choke on file size specifications (legitimately) exceeding LONG_MAX. 1999-02-04 16:41:17 +00:00
simonb 88c54c38e0 Add -{a,c,m}min to STANDARDS section (via Klaus Klein) 1999-01-19 23:22:27 +00:00
simonb 810471468e Add GNU-style -{a,c,m}min primaries. 1999-01-16 13:27:30 +00:00
lukem 98ae72f685 Add support for -printx, which quotes pathnames in an xargs friendly way.
From [bin/6790] by Eric Fischer <eric@fudge.uchicago.edu>
1999-01-12 00:18:50 +00:00
lukem adfde6fdc9 Add support for "-flags [-]flags", which matches the file flags in a
similar way that "-perm [-]mode" matches the file mode.
1999-01-03 14:54:27 +00:00
lukem 191498cad2 args to -perm are "-perm [-]mode" not "-perm [-mode]" 1999-01-03 14:11:54 +00:00
lukem c5d402d13c fix bugs in handling of `!' operator:
* 'find . !' would coredump
* ! wouldn't correctly negate expressions in parenthesis

discovered and fixed by Dave Sainty <dave@dtsp.co.nz> in [bin/6412]
1999-01-02 02:34:15 +00:00
christos a3cf33f0fd make printf format more conservative 1998-11-06 23:21:38 +00:00
christos 3f852e73e1 we don't need sys/ucred.h 1998-11-06 23:21:01 +00:00
simonb 1f00456a27 For -ls output, change field widths to allow inodes up to 9,999,999 and
file sizes up to 999,999,999 bytes (and 999,999 blocks) without wobbly
lines.  Also change device minor/major to be 3/5 digits (current maximum
is 4/7 digits - the 3/5 split is arbitary).
1998-10-27 04:53:03 +00:00
wsanchez 3376e86cab include stdlib 1998-10-14 00:50:59 +00:00
wsanchez 6149c86370 init mask to silence -Wall 1998-10-14 00:50:43 +00:00
msaitoh 4ac829e2c6 eliminate a duplicated -X entry 1998-05-27 13:15:30 +00:00
thorpej b936691cf7 Cast off_t to long long for printing with %qd. 1998-03-03 02:22:40 +00:00
christos 9a80b4fa85 Simplify the function calling code and warnsify. 1998-02-21 22:47:20 +00:00
cgd c62f53ae70 allocate temporary storage for directory list, rather than clobbering
argv (yuck!).
1998-02-10 21:52:51 +00:00