| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were making `-user <existing>` imply `! -nouser`, which is valid, but
we were also makeing `! -user <existing>` imply `-nouser`, which isn't.
Fix it by only constraining the `-nouser`/`-nogroup` predicates in the
true case.
While I'm here, fix a similar latent bug that would have triggered if we
ever merged `-readable -and -writable` into one `R_OK | W_OK` test.
Fixes: https://github.com/tavianator/bfs/issues/155
Fixes: 305ee902 ("opt: Track data flow information about predicates")
|
| |
|
| |
|
|
|
|
|
| |
The XNU posix_spawn() implementation apparently can't handle fchdir() to
a directory opened by the file actions themselves.
|
|
|
|
|
|
|
| |
NetBSD's posix_spawn() surprisingly has the same bug as its
posix_spawnp(): the executable is resolved before the file actions.
Detect this case and work around it by falling back to fork()/exec() if
we need to.
|
|
|
|
|
| |
This avoids the need for the bash 3 workaround of running command nproc
in a subshell.
|
|
|
|
|
|
| |
$ bfs -execdir /bin/exe {} \;
is perfectly safe regardless of what's in $PATH.
|
|
|
|
| |
Fixes: 8c130ca ("xspawn: Check X_OK even without $PATH resolution")
|
| |
|
|
|
|
| |
On macOS, sh takes upwards of 20 seconds for some reason.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This fixes a hang observed with low queue depths like -d32.
|
| |
|
|
|
|
| |
... which requires we process root paths strictly in-order.
|
|\
| |
| |
| |
| | |
tavianator/dependabot/github_actions/cross-platform-actions/action-0.28.0
build(deps): bump cross-platform-actions/action from 0.27.0 to 0.28.0
|
| |
| |
| |
| | |
Link: https://wildwolf.name/github-actions-how-to-avoid-running-the-same-workflow-multiple-times/
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bumps [cross-platform-actions/action](https://github.com/cross-platform-actions/action) from 0.27.0 to 0.28.0.
- [Release notes](https://github.com/cross-platform-actions/action/releases)
- [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md)
- [Commits](https://github.com/cross-platform-actions/action/compare/v0.27.0...v0.28.0)
---
updated-dependencies:
- dependency-name: cross-platform-actions/action
dependency-version: 0.28.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before Bash 4, the `command` builtin did not work properly in AND-OR
lists when set -e was active, leading to
set -e
command nonesuch || echo none
failing without echoing. Work around it by runing `command nproc` in a
subshell.
Link: https://stackoverflow.com/q/68143965
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unbuffer is part of expect, which is not actively maintained. This
recently led to a CI failure on NetBSD which looked like
can't find package Expect
while executing
"package require Expect"
(file "/usr/pkg/bin/unbuffer" line 6)
Rather than debug this, I just reimplemented unbuffer myself. This also
reduces our test dependencies, which is nice.
Link: https://sourceforge.net/p/expect/bugs/107/
Link: https://github.com/tavianator/bfs/actions/runs/14421150823/job/40444068385
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes: 3678c2e ("bench/ioq: New ioq microbenchmark")
|
|
|
|
| |
Fixes: 9c911d7 ("ctx: Track the token kind of each argument")
|
|
|
|
| |
This matches the behaviour of GNU find.
|
| |
|
|
|
|
|
|
|
|
| |
GNU find intentionally makes later -files0-from options override earlier
ones, for symmetry with similar features like du --files0-from. Change
bfs to match.
Link: https://savannah.gnu.org/bugs/?66965
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The thread-local scratch variables make it non-reentrant for no good
reason. I don't consider the theoretical strict-aliasing violation to
be practically relevant.
This partially reverts commit 90791fc ("list: Make SLIST_REMOVE() more
type-safe").
|
| |
|
| |
|
|
|
|
| |
Notes:
Fixes: a36774b ("bfstd: Take sched_getaffinity() into account in nproc()")
|
|
|
|
| |
Notes:
Fixes: 881d590 ("xtime: Add a wrapper for timer_create()/setitimer()")
|
|
|
|
| |
Just check our wrapper's error detection, like we do for xmktime().
|
|
|
|
| |
Notes:
Fixes: 1aefb83 ("tests/units: Run each test in a separate process")
|
|
|
|
|
| |
Rather than hiding them with %.0s, use a ternary to replace them with an
empty string if they would be unused.
|
|
|
|
|
|
|
|
| |
Just add the standard prefix to the passed format string in the
diagnostic macros themselves. This lets us write the whole message with
one dprintf() call, minimizing interleaving.
It's also a net win for binary size.
|
| |
|
| |
|
| |
|