| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The POSIX Utility Syntax Guidelines specify that flag groups like -HL
should be handled like -H -L. GNU find doesn't support grouping flags
in this way, but BSD find does.
To avoid conflicts with non-flag primaries, for now we require at least
one flag in a group to be a capital letter. That is, we support things
like -Lds but not -ds. We also do not support -fPATH (without a space)
as it would conflict with -follow, -fprint, etc. It is impossible to be
compatible with both GNU and BSD find here:
user@gnu$ find -follow
link
link/file
...
user@bsd$ find -follow
find: ollow: No such file or directory
Link: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
|
|
|
|
| |
Link: https://savannah.gnu.org/bugs/?60207
|
|
|
|
|
|
|
|
| |
POSIX has clarified that it's unspecified whether -newer uses times from
stat() or lstat(), because implementations vary. It does specify that
it must fall back to lstat() for broken links, so test that.
Link: https://austingroupbugs.net/view.php?id=1776
|
|
|
|
|
| |
Rather than attempting to close any unexpected FDs, just count them and
adjust our ulimit -n calls to account for them.
|
|
|
|
|
|
| |
Using -path 'deep/*/*/.../*' to simulate -mindepth 18 falls off a
performance cliff on systems that use backtracking for fnmatch(). This
was observed on macOS 12.4. Instead, just use -type f.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
POSIX actually says
> If the utility would be executed with file descriptor 0, 1, or 2
> closed, implementations may execute the utility with the file
> descriptor open to an unspecified file.
So we're not guaranteed to be able to detect the situation in the first
place. Add a best-effort check for these platforms and skip the test.
Link: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_01_01
|
| |
|
|
|
|
| |
Otherwise, propagate the exit code from bfs
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Iterating all the users/groups can be expensive, especially with NSS.
Android has so many that it doesn't even return them all from
get{pw,gr}ent() for performance reasons, leading to incorrect behaviour
of -user/-group/etc.
|
|
|
|
|
|
| |
POSIX touch(1) doesn't include the -h option, and indeed OpenBSD doesn't
implement it. Making our own utility also lets us add some handy
extensions like -p (create parents) and -M (set permissions).
|
|
|
|
| |
And try to unmount things if the a test left them mounted.
|
| |
|
|
|