Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | expr: Tell expressions what kind of expression they are | Tavian Barnes | 2024-08-15 | 5 | -200/+205 | |
| | ||||||
* | Default to no for "Do you want to continue?" prompts | Tavian Barnes | 2024-08-13 | 2 | -2/+2 | |
| | ||||||
* | ci/codeql: Ignore cpp/constant-comparison | Tavian Barnes | 2024-08-12 | 1 | -0/+2 | |
| | | | | | It triggers on "constants" that vary by platform, e.g. the new sysoption() macro testing _POSIX_<OPTION>. | |||||
* | opt: Add a missing NULL check in lift_andor_not() | Tavian Barnes | 2024-08-12 | 1 | -0/+4 | |
| | | | | | The annotation visitor probably can't fail, but we might as well check consistently. | |||||
* | opt: Warn about ignored expressions after dangerous actions | Tavian Barnes | 2024-08-12 | 3 | -25/+79 | |
| | | | | | | For example, `bfs -delete -type f` is almost certainly a mistake. Link: https://savannah.gnu.org/bugs/?65895 | |||||
* | opt: Copy data flow back up from the nested context in optimize() | Tavian Barnes | 2024-08-12 | 1 | -2/+11 | |
| | | | | | | | | This fixes warnings on commands like `bfs -exclude -true` or `bfs -exclude -type f -type f`, because the data flow is properly shared between the -exclude expression and the main one. Fixes: 4a36bb9 ("expr: Make expressions variadic") | |||||
* | sighook: Disable semaphores on NetBSD | Tavian Barnes | 2024-08-11 | 1 | -1/+2 | |
| | ||||||
* | bfstd: New sysoption() macro to check for POSIX option runtime support | Tavian Barnes | 2024-08-09 | 5 | -39/+84 | |
| | | | | | | | | | | POSIX allows optional features to be supported at compile time but not necessarily at run time by defining _POSIX_OPTION to 0 and requiring users to check sysconf(_SC_OPTION) > 0. The new sysoption() macro simplifies the check. sighook() and bfs_spawn() now check for conditional runtime support for the relevant POSIX options. | |||||
* | xtime: Remove xgettime() | Tavian Barnes | 2024-08-09 | 5 | -39/+10 | |
| | | | | clock_gettime() is available everywhere by now. | |||||
* | prelude: s/fallthru/_fallthrough/ for consistency with other attributes | Tavian Barnes | 2024-08-09 | 5 | -15/+15 | |
| | ||||||
* | bar: Hide the bar unless the TTY is tall enough | Tavian Barnes | 2024-08-07 | 1 | -13/+23 | |
| | ||||||
* | docs/CHANGELOG: Add some new changes | Tavian Barnes | 2024-08-02 | 1 | -0/+6 | |
| | ||||||
* | parse: Take umask into account in parse_mode() | Tavian Barnes | 2024-08-02 | 7 | -10/+43 | |
| | | | | | | | POSIX 2024 clarified that find(1) is meant to work exactly like chmod(1) here, so for modes like +rw,-x with no "who" specified, apply the umask. Link: https://www.austingroupbugs.net/view.php?id=1392 | |||||
* | tests: Add more files to perms/ | Tavian Barnes | 2024-08-02 | 22 | -103/+333 | |
| | ||||||
* | parse: Fix names in parse_mode() | Tavian Barnes | 2024-08-02 | 1 | -14/+14 | |
| | | | | | | | Commit 9c6e4ce ("parse: s/parser_state/bfs_parser/") was a little to overzealous in replacing "state" with "parser", resulting in the tortured phrase "parser machine parser" instead of "state machine state". | |||||
* | Update opengroup.org links to POSIX 2024 | Tavian Barnes | 2024-08-02 | 4 | -9/+9 | |
| | ||||||
* | Revert "typo: Raise the insert/delete cost" | Tavian Barnes | 2024-08-02 | 1 | -1/+1 | |
| | | | | | | | That was a little too aggressive, with -alse suggesting -size instead of -false. This reverts commit 0d6822ee71c1f60c8003e13ab149501e586f9ae6. | |||||
* | bar: #include <unistd.h> for ioctl() on Illumos | Tavian Barnes | 2024-08-01 | 1 | -0/+1 | |
| | ||||||
* | tests: Make some more variables local | Tavian Barnes | 2024-08-01 | 1 | -2/+4 | |
| | ||||||
* | tests: Fix line number reported when wait -n fails | Tavian Barnes | 2024-08-01 | 1 | -2/+3 | |
| | ||||||
* | bar: Use tcgetwinsize() from POSIX 2024 if available | Tavian Barnes | 2024-07-28 | 3 | -3/+20 | |
| | ||||||
* | prelude: Simplify attributes | Tavian Barnes | 2024-07-28 | 20 | -179/+125 | |
| | ||||||
* | build: De-duplicate conditionally-supported flags | Tavian Barnes | 2024-07-28 | 1 | -6/+14 | |
| | ||||||
* | tests: Add tests for invalid users/groups | Tavian Barnes | 2024-07-27 | 28 | -0/+8 | |
| | ||||||
* | xspawn: Fix error message if pthread_sigmask() fails | Tavian Barnes | 2024-07-27 | 1 | -2/+2 | |
| | ||||||
* | xspawn: Use _Fork() if available | Tavian Barnes | 2024-07-27 | 5 | -0/+22 | |
| | | | | | | | This completes the workaround for bfs_spawn() hanging on FreeBSD with ASan enabled. Link: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280318 | |||||
* | build/flags: Add -Wmissing-variable-declarations if supported | Tavian Barnes | 2024-07-27 | 2 | -1/+11 | |
| | ||||||
* | build/flags: Infrastructure to detect compiler flag support | Tavian Barnes | 2024-07-27 | 4 | -5/+44 | |
| | | | | Use it to detect -MD -MP support. | |||||
* | build/define-if.sh: Remove unneeded code | Tavian Barnes | 2024-07-27 | 1 | -3/+1 | |
| | ||||||
* | tests: Make more tests POSIX-compliant | Tavian Barnes | 2024-07-23 | 10 | -10/+10 | |
| | ||||||
* | tests/common: Add some missing paths | Tavian Barnes | 2024-07-23 | 4 | -4/+4 | |
| | ||||||
* | opt: -empty implies -type f,d | Tavian Barnes | 2024-07-17 | 1 | -5/+22 | |
| | ||||||
* | opt: -lname implies -type l | Tavian Barnes | 2024-07-17 | 1 | -0/+7 | |
| | ||||||
* | xspawn: Test the right macro for posix_spawn_..._addfchdir() support | Tavian Barnes | 2024-07-16 | 1 | -1/+1 | |
| | | | | | | | | | | This should have been benign (just a performance regression), but FreeBSD has a bug that causes the fork()-based fallback to lock up when ASAN is enabled, due to fork() and dl_iterate_phdr(). This is not a complete workaround for that issue, since the fork() fallback may be used for other reasons. Fixes: 29ddac2 ("config: Check for posix_spawn_file_actions_addfchdir{,_np}()") | |||||
* | Merge pull request #143 from ↵ | Tavian Barnes | 2024-07-16 | 1 | -4/+4 | |
|\ | | | | | | | | | tavianator/dependabot/github_actions/cross-platform-actions/action-0.25.0 build(deps): bump cross-platform-actions/action from 0.24.0 to 0.25.0 | |||||
| * | ci/freebsd: Update to 14.1 | Tavian Barnes | 2024-07-16 | 1 | -1/+1 | |
| | | ||||||
| * | build(deps): bump cross-platform-actions/action from 0.24.0 to 0.25.0 | dependabot[bot] | 2024-07-15 | 1 | -3/+3 | |
|/ | | | | | | | | | | | | | | | Bumps [cross-platform-actions/action](https://github.com/cross-platform-actions/action) from 0.24.0 to 0.25.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.24.0...v0.25.0) --- updated-dependencies: - dependency-name: cross-platform-actions/action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> | |||||
* | sighook: Make sigunhook() O(1) | Tavian Barnes | 2024-07-15 | 1 | -41/+51 | |
| | ||||||
* | Prepare for version 4.0 | Tavian Barnes | 2024-07-10 | 3 | -2/+45 | |
| | ||||||
* | docs/SECURITY: Fix we -> be typo | Tavian Barnes | 2024-07-10 | 1 | -1/+1 | |
| | ||||||
* | Implement POSIX 2024's -mount | Tavian Barnes | 2024-07-08 | 6 | -10/+3 | |
| | | | | | | This reverts commit 4f80c17192f2b28c96a489969d4435151d68d0ce. Link: https://www.austingroupbugs.net/view.php?id=1133 | |||||
* | tests: -print0 is in POSIX 2024 | Tavian Barnes | 2024-07-08 | 2 | -0/+0 | |
| | | | | Link: https://www.austingroupbugs.net/view.php?id=243 | |||||
* | tests: -iname is in POSIX 2024 | Tavian Barnes | 2024-07-08 | 3 | -2/+1 | |
| | | | | Link: https://www.austingroupbugs.net/view.php?id=1031 | |||||
* | tests: Simplify unit tests with a global variable | Tavian Barnes | 2024-07-07 | 11 | -324/+263 | |
| | | | | | It's a little awkward to thread the test result through manually; much easier to just make bfs_check() update a global variable. | |||||
* | sighook: Replace sigtables with RCU-protected linked lists | Tavian Barnes | 2024-07-07 | 2 | -182/+128 | |
| | | | | | | | | This fixes an ABA problem where sigdispatch() could think no handlers are registered for a signal even when there are. Link: https://unix.stackexchange.com/a/779594/56202 Fixes: 375caac ("sighook: New utilities for hooking signals") | |||||
* | tests/bfs: New case-sensitivity ordering test | Tavian Barnes | 2024-07-03 | 2 | -0/+28 | |
| | ||||||
* | color: Delay the case_sensitive decision | Tavian Barnes | 2024-07-02 | 3 | -90/+112 | |
| | ||||||
* | build: Save cc.sh build products to gen/ | Tavian Barnes | 2024-06-21 | 4 | -13/+8 | |
| | ||||||
* | build: Generate config.mk after config.h | Tavian Barnes | 2024-06-21 | 2 | -5/+8 | |
| | | | | That way if ./configure fails, make will complain about it directly. | |||||
* | ioq: Do more in the branch-free slot helper | Tavian Barnes | 2024-06-20 | 1 | -11/+11 | |
| |