Commit Graph

36 Commits

Author SHA1 Message Date
Dag-Erling Smørgrav
1fd98d7d88 Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR:		Loosely related to bin/8252
Approved by:	jkh and bde
1998-10-13 14:52:33 +00:00
Peter Hawkins
449cc391d9 PR: 7522
Correct bug in the inverse operator optimisation code which caused segv
on ! without a following expression.
1998-08-10 10:29:11 +00:00
Bruce Evans
22694ebad5 Fixed printf format errors. 1998-07-06 21:01:54 +00:00
Warner Losh
c788c9b224 Make sure we pass the length - 1 to readlink, since it adds its own
NUL at the end of the path.

Inspired by: OpenBSD's changes in this area by theo de raadt
1998-06-09 04:10:08 +00:00
Joseph Koshy
41cbb62401 Add cross references for find(1), locate(1), whereis(1) and which(1).
Submitted by: Josh Gillam <josh@quick.net>
PR: docs/6642
1998-05-15 11:22:42 +00:00
Bruce Evans
87f01287d2 Removed definition of _NEW_VFSCONF. The new vfsconf interface is now
the default.
1998-01-20 10:40:18 +00:00
John Birrell
94aacc4fb8 A partial frontal lobotomy for find if using the NetBSD libc which
doesn't know about getvfsbyname() and the vfsconf structure. This
disables the -fstype option if compiled with a pre-processor that
defines __NetBSD__. With the FreeBSD built pre-processor, find can only
be built with the FreeBSD libc. So when running with a NetBSD kernel,
FreeBSD's libc will have to return ENOSYS for things that NetBSD
doesn't support. That's life in a hybrid world.
1998-01-10 21:36:34 +00:00
Steve Price
5a5b7fdd83 Sort option list so that -amin works.
PR:		5171
Submitted by:	Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
1997-11-28 15:48:08 +00:00
Steve Price
f6e4fb22cf Better wording explaining that all single character options
are extensions along with the previous list of primaries.

Suggested by: bde
1997-10-27 14:25:54 +00:00
Steve Price
fcda3c86e1 Offending statement removed from STANDARDS section. From what I
can gather from the Posix spec that I have (which is very old)
all one character options are extensions to Posix.

PR:		docs/4701
1997-10-27 04:22:13 +00:00
Wolfram Schneider
3f5223f84a Add the primaries -mmin, -amin, -cmin to find, similar to the GNU find. 1997-10-13 21:06:22 +00:00
Warner Losh
127d7563c4 Add -execdir which will execute the exec command in the dir of the file
in question.  This change and the fts changes should be merged into 2.2-stable
as soon as they are vetted in -current.  This should allow cleaning of files
in /tmp to be reneabled.
Obtained from: OpenBSD
1997-08-29 23:09:45 +00:00
John Polstra
5cc6677fdc Eliminate a variable that is set but never used. 1997-05-19 18:16:29 +00:00
John Polstra
3d9a9402b4 Mention that "-P" is the default. 1997-05-19 18:16:00 +00:00
Eivind Eklund
6ad98044a1 it's'' -> its'' where appropriate and typo fixes in time2posix.3.
Closes PR docs/3612.

Submitted by:	Josh Gilliam <soil@quick.net>
1997-05-19 16:33:27 +00:00
Masafumi Max NAKANE
fbe0d04a50 Minor typo.
PR:		3472
Submitted by:	Josh Gilliam <soil@quick.net>
1997-05-02 22:08:10 +00:00
Warner Losh
1c8af87873 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 04:34:07 +00:00
Peter Wemm
9d08e419b9 Fix "-fstype local" that was broken by another bugfix in the Lite2 merge.
Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>, PR#3076
1997-03-27 02:36:26 +00:00
Peter Wemm
841484cd42 Merge from Lite2 - use new getvfsbyname() and related changes.
understand whiteouts (FTS_W from fts()).
1997-03-11 13:48:37 +00:00
Joerg Wunsch
704969a28c Fix a gross bug in the ! operator optimization code. The following
kind of expressions caused a dereferencation of an uninitialized malloc
area, yielding wrong expression evaluation at best, and core dumps at
worst (malloc.conf -> AJ):

	find ... ! \( expr1 ! expr2 \) ...
1997-03-10 19:20:39 +00:00
Peter Wemm
c115df18cd Revert $FreeBSD$ to $Id$ 1997-02-22 19:58:13 +00:00
Wolfram Schneider
fa363c34a4 The option "fstype" does not handle the argument "msdos" correctly.
This error results from changing the name for the msdos file system
from "pcfs" to "msdos". Close PR #1105

submitted by: Thomas Wintergerst <thomas@lemur.nord.de>,
              Slaven Rezic <eserte@cs.tu-berlin.de>
1997-01-28 13:18:46 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Peter Wemm
3598e52ce6 With -delete, don't complain about non-empty directories. Otherwise
"cd /tmp; find . -mtime +7 -delete" is excessively noisy.
1996-10-05 23:47:07 +00:00
Peter Wemm
242ab807c6 For the -delete option, emulate the behavior of "rm -f" when dealing with
user-immutable files.

Requested by: ache
1996-10-05 18:21:05 +00:00
Peter Wemm
abacbbbf01 Implement a -delete option to find. The code is extremely paranoid and
goes to a fair degree of trouble to enable something like this to
be safe:  cd /tmp && find . -mtime +7 -delete

It removes both files and directories.  It does not attempt to remove
immutable files (an earlier version I showed to a few people did a chflags
and tried to blow away even immutable files.  Too risky..)

It is thought to be safe because it forces the fts(3) driven descent to
only do "minimal risk" stuff.  specifically, -follow is disabled, it does
checking to see that it chdir'ed to the directory it thought it was
going to, it will *not* pass a pathname with a '/' character in it to
unlink(), so it should be totally immune to symlink tree races.  If it runs
into something "fishy", it bails out rather than blunder ahead.. It's better
to do that if somebody is trying to compromise security rather than risk
giving them an opportunity.  Since the unlink()/rmdir() is being called
from within the current working directory during the tree descent, there
are no fork/exec overheads or races.

As a side effect of this paranoia, you cannot do a
"find /somewhere/dir -delete", as the last argument to rmdir() is
"/somewhere/dir", and the checking won't allow it.  Besides, one would use
rm -rf for that case anyway. :-)

Reviewed by: pst (some time ago, but I've removed the immutable file
deletion code that he complained about since he last saw it)
1996-10-04 12:54:07 +00:00
Wolfram Schneider
b8923d4cc0 [HISTORY] command appeared in Version 1 AT&T UNIX
Obtained from: A Quarter Century of UNIX, Peter H. Salus, page 41
1996-08-29 18:06:19 +00:00
Andrey A. Chernov
bf4fce1a35 Localize it 1996-08-12 11:39:24 +00:00
Bruce Evans
9192bbf46f Use strtoq() instead of strtol() so that large inums, and sizes can be
specified.

Not fixed: specification of large uids and gids; silent truncation of
unrepresentable values.
1996-04-07 12:58:13 +00:00
Garrett Wollman
81e236a01c Don't use printf() for simple strings because it is slow. Closes PR 783.
Submitted by:	Wolfram Schneider <wosch@freebsd.first.gmd.de>
1995-10-16 18:32:35 +00:00
Nate Williams
e9f1a293f1 Simpler fix to the find bug reported by Terry Lambert <terry@lambert.org>
[ Find to a file vs. to stdout ] produces different output because find
does not flush stdout when doing a -print.

Submitted by:	Jeffrey Hsu <hsu@freefall.freebsd.org>
1995-09-12 23:15:33 +00:00
Garrett Wollman
656dcd4316 Delete bogus referneces to timezone code internal header file `tzfile.h',
which is no longer bogusly installed in /usr/include.
1995-08-07 19:17:46 +00:00
Rodney W. Grimes
7799f52a32 Remove trailing whitespace. 1995-05-30 06:41:30 +00:00
Garrett Wollman
7cd23434fe Add GNU-style `-print0' primary. This exists so that one can safely
do `find some-nasty-expression -print0 | perl -n0e unlink' and have all
the files actuallly get deleted.  (Using `xargs' and `rm' is not safe.)
1995-05-09 19:02:06 +00:00
Guido van Rooij
dcb8def0e7 Fix completely broken find behaviour:
a find -foo -o -bar would behave like find -bar. The same for -a
This broke (among others) ./etc/security.

Obtained from: NetBSD
1995-02-27 20:52:36 +00:00
Rodney W. Grimes
9b50d90275 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00