Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | configure: Remove stray () from comment | Tavian Barnes | 2024-06-20 | 1 | -1/+1 |
| | |||||
* | docs: Add a security policy | Tavian Barnes | 2024-06-19 | 1 | -0/+126 |
| | |||||
* | configure: Bail out if CC doesn't work at all | Tavian Barnes | 2024-06-18 | 1 | -2/+10 |
| | |||||
* | build: Rename CONFIG to CONFFLAGS | Tavian Barnes | 2024-06-18 | 5 | -11/+11 |
| | |||||
* | configure: Fix VAR=value before --option | Tavian Barnes | 2024-06-18 | 1 | -76/+77 |
| | | | | | | | | | Previously we were not shifting all arguments, leading to $ ./configure CC=gcc --enable-release make: unrecognized option '--enable-release' as the loop would shift the CC=gcc argument instead of --enable-release. | ||||
* | bftw: Only resize the string once in bftw_build_path() | Tavian Barnes | 2024-06-18 | 1 | -19/+22 |
| | |||||
* | Use dstrx*() over dstrn*() when we know the exact length | Tavian Barnes | 2024-06-18 | 2 | -7/+7 |
| | |||||
* | docs/bfs.1: Fix some CHECKSTYLE warnings | Tavian Barnes | 2024-06-17 | 2 | -3/+8 |
| | | | | And add a new `make check-man` target. | ||||
* | Merge pull request #140 from visciang/main | Tavian Barnes | 2024-06-16 | 1 | -1/+1 |
|\ | | | | | Fix docs | ||||
| * | fix docs | Giovanni Visciano | 2024-06-16 | 1 | -1/+1 |
|/ | |||||
* | build: Include CC in bfs --version output | Tavian Barnes | 2024-06-13 | 4 | -0/+7 |
| | |||||
* | build: Use exec "$@" rather than just "$@" | Tavian Barnes | 2024-06-11 | 2 | -2/+2 |
| | | | | This avoids extra error reporting from set -e. | ||||
* | typo: Raise the insert/delete cost | Tavian Barnes | 2024-06-08 | 1 | -1/+1 |
| | | | | | It should be at least half the max char distance so that we mostly get replacements, not inserts + deletes. | ||||
* | ci/codeql: Allow #include "gen/foo.i" | Tavian Barnes | 2024-06-08 | 1 | -0/+2 |
| | |||||
* | xspawn: Check X_OK even without $PATH resolution | Tavian Barnes | 2024-06-08 | 2 | -2/+13 |
| | | | | | | | | | | Not all posix_spawn() implementations use errno to report execv() failures from the child process, as that requires either a kernel posix_spawn() implementation or a pipe to pass the error back. This should fix tests/posix/exec_nonexistent on OpenBSD and HPPA. Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=hppa&ver=3.3.1-1&stamp=1717489148&raw=0 | ||||
* | tests: Do chmod +rwX in clean_stddirs() | Tavian Barnes | 2024-06-08 | 1 | -0/+1 |
| | |||||
* | Revert "build: Add -Wmissing-variable-declarations" | Tavian Barnes | 2024-06-08 | 1 | -1/+0 |
| | | | | | | Turns out that flag was only added in GCC 14. This reverts commit 7cddd64b3131812b82feffe2deb311bf6ab9a262. | ||||
* | ci: Actually fail if the build fails | Tavian Barnes | 2024-06-08 | 1 | -1/+1 |
| | | | | Fixes: 23e0487 ("ci: Surface compiler warnings/errors as GitHub actions messages") | ||||
* | build: Add -Wmissing-variable-declarations | Tavian Barnes | 2024-06-08 | 2 | -2/+3 |
| | |||||
* | LICENSE: Update copyright date | Tavian Barnes | 2024-06-08 | 1 | -1/+1 |
| | |||||
* | Embed more configuration info in bfs --version | Tavian Barnes | 2024-06-08 | 9 | -9/+71 |
| | |||||
* | sighook: Shard the signal table | Tavian Barnes | 2024-06-07 | 1 | -7/+24 |
| | |||||
* | sighook: Ignore sigaction() errors in atsigexit() | Tavian Barnes | 2024-06-07 | 1 | -10/+6 |
| | | | | This fixes bfs under Valgrind, which reserves SIGRTMAX for its own use. | ||||
* | atomic: Fix RISC-V build with GCC < 14 | Tavian Barnes | 2024-06-06 | 3 | -1/+9 |
| | | | | | | | | | | | | Prior to GCC 14.1, the __builtin_riscv_pause() can cause an error if the appropriate extension is not enabled in -march: /tmp/ccR1L1lA.s: Assembler messages: /tmp/ccR1L1lA.s:670: Error: unrecognized opcode `pause', extension `zihintpause' required Link: https://gcc.gnu.org/pipermail/gcc-patches/2023-August/626748.html Link: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=c2d04dd659c499d8df19f68d0602ad4c7d7065c2 Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=riscv64&ver=3.3.1-1&stamp=1717488400&raw=0 | ||||
* | Minor formatting fixes | Tavian Barnes | 2024-06-06 | 2 | -22/+22 |
| | |||||
* | parse: Remove some unnecessary saving/restoring of errno | Tavian Barnes | 2024-06-05 | 1 | -14/+0 |
| | |||||
* | Replace some switch-case lookups with arrays | Tavian Barnes | 2024-06-05 | 3 | -83/+45 |
| | |||||
* | tests: Improve color case insensitivity coverage | Tavian Barnes | 2024-06-05 | 2 | -6/+6 |
| | |||||
* | tests: New inaccessible/ directory tree for permission errors | Tavian Barnes | 2024-06-04 | 9 | -38/+18 |
| | |||||
* | tests: Add directories with different permissions to perms/ | Tavian Barnes | 2024-06-04 | 20 | -80/+103 |
| | |||||
* | tests/common: Add tests for -[am]{min,time} | Tavian Barnes | 2024-06-04 | 8 | -0/+84 |
| | |||||
* | xtime: Add support for @epochseconds timestamps | Tavian Barnes | 2024-06-04 | 3 | -25/+30 |
| | |||||
* | bfstd: New xstrtoll() wrapper | Tavian Barnes | 2024-06-04 | 3 | -15/+48 |
| | |||||
* | Merge branch 'revert-eloop' | Tavian Barnes | 2024-06-03 | 8 | -4/+25 |
|\ | |||||
| * | Make ELOOP an error again, except for -xtype.3.3.1 | Tavian Barnes | 2024-06-03 | 8 | -4/+25 |
| | | | | | | | | | | | | | | | | | | | | POSIX requires an error if (for example) -L encounters a symlink loop. The GNU find change was restricted to -xtype, so add a manual ELOOP test to eval_xtype() for compatibility. This reverts commit 470589cbd9ca3e73d8c01ac3a96cbc065179dcc5. Link: https://savannah.gnu.org/bugs/?19605 | ||||
* | | eval: Fix -D stat printed return value | Tavian Barnes | 2024-06-03 | 1 | -1/+1 |
| | | |||||
* | | parse: Allow -Darg/-Sarg as well as -D arg / -S arg | Tavian Barnes | 2024-06-03 | 7 | -12/+79 |
| | | |||||
* | | parse: Handle multiple flags at once like -LEXO2 | Tavian Barnes | 2024-06-03 | 12 | -26/+181 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | ||||
* | | sighook: Check that atomic size_t is lock-free | Tavian Barnes | 2024-06-03 | 1 | -0/+4 |
| | | |||||
* | | list: New SLIST_SPLICE() macro | Tavian Barnes | 2024-05-31 | 6 | -5/+123 |
| | | |||||
* | | trie: Don't pass a bitfield directly to has_single_bit() | Tavian Barnes | 2024-05-30 | 1 | -1/+1 |
| | | |||||
* | | bit: Use <stdbit.h> if it exists, even without -std=c23 | Tavian Barnes | 2024-05-29 | 2 | -3/+7 |
| | | | | | | | | glibc added an implementation in 2.39. | ||||
* | | bit: Update to match C23 | Tavian Barnes | 2024-05-29 | 2 | -69/+63 |
|/ | | | | | | | | | | Based on the latest C23 draft (N3220): - Argument types to generic bit functions should be unsigned - Bit functions return unsigned int - Byte-swapping functions (stdc_memreverse8*()) weren't added - stdc_rotate_{left,right}() weren't added - first_leading_*() counts from the *left* |