Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | alloc: Implement an arena for flexible structs | Tavian Barnes | 2023-06-20 | 1 | -1/+13 |
| | |||||
* | alloc: New header for memory allocation utilities | Tavian Barnes | 2023-06-20 | 2 | -11/+26 |
| | |||||
* | color: `fi=0` should not fall back to `no` | Tavian Barnes | 2023-06-08 | 8 | -0/+84 |
| | |||||
* | tests/bfstd: Use bfs_verify() over explicit abort() | Tavian Barnes | 2023-05-19 | 1 | -14/+5 |
| | |||||
* | Switch from assert() to bfs_assert()/bfs_verify() | Tavian Barnes | 2023-05-18 | 3 | -86/+83 |
| | |||||
* | bit: Rename int.h to bit.h | Tavian Barnes | 2023-05-18 | 1 | -1/+1 |
| | |||||
* | config: Align after saturating in flex_sizeof() | Tavian Barnes | 2023-05-16 | 1 | -1/+2 |
| | | | | | This ensures that it's legal to call aligned_alloc() with the result, which requires a multiple of the alignment. | ||||
* | int: Backport C23's bit utilities | Tavian Barnes | 2023-05-16 | 1 | -0/+57 |
| | |||||
* | int: Backport C23's endian utilities | Tavian Barnes | 2023-05-16 | 1 | -0/+10 |
| | |||||
* | int: Backport C23's _WIDTH macros | Tavian Barnes | 2023-05-16 | 1 | -0/+54 |
| | |||||
* | config: Saturate on overflow in flex_sizeof() | Tavian Barnes | 2023-05-11 | 1 | -0/+1 |
| | |||||
* | config: Properly align flex_sizeof() | Tavian Barnes | 2023-05-11 | 1 | -0/+13 |
| | |||||
* | config: Provide <stdalign.h> and <stdbool.h> | Tavian Barnes | 2023-05-11 | 2 | -2/+2 |
| | | | | In anticipation of C23, since those headers won't be necessary any more. | ||||
* | config: s/BFS_COUNTOF/countof/ | Tavian Barnes | 2023-05-10 | 1 | -1/+1 |
| | |||||
* | build: Fix tsan | Tavian Barnes | 2023-04-12 | 1 | -5/+6 |
| | |||||
* | list: Use macros instead of type-erased lists | Tavian Barnes | 2023-03-31 | 1 | -0/+2 |
| | |||||
* | trie: Use list.h for the list of leaves | Tavian Barnes | 2023-03-29 | 1 | -2/+0 |
| | |||||
* | tests: Use close() wrappers | Tavian Barnes | 2023-01-31 | 2 | -5/+3 |
| | |||||
* | Replace license boilerplate with SPDX tags | Tavian Barnes | 2023-01-25 | 8 | -120/+16 |
| | | | | | | | And while I'm at it, remove years from copyright declarations. Link: https://spdx.dev/about/ Link: https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/ | ||||
* | mtab: Mitigate the race between bfs_mtab_parse() and bfs_mtab_fill_types() | Tavian Barnes | 2023-01-22 | 2 | -0/+12 |
| | | | | Fixes #97. | ||||
* | tests/xtouch: Fix macOS build | Tavian Barnes | 2023-01-19 | 1 | -0/+1 |
| | |||||
* | bfstd: New wrappers for dirname()/basename() | Tavian Barnes | 2023-01-19 | 3 | -15/+65 |
| | |||||
* | tests: Use bfs_sudo wrapper instead of testing $SUDO | Tavian Barnes | 2022-12-29 | 13 | -51/+49 |
| | |||||
* | tests/bfs/printf_everything: Simplify double negation | Tavian Barnes | 2022-12-16 | 1 | -2/+2 |
| | |||||
* | tests: New test for -fstype on a stacked mount point | Tavian Barnes | 2022-12-16 | 2 | -0/+14 |
| | |||||
* | tests: Save test stderr to separate files | Tavian Barnes | 2022-12-16 | 1 | -2/+2 |
| | |||||
* | tests: Fail early in bfs_diff if the diff fails | Tavian Barnes | 2022-12-16 | 10 | -19/+12 |
| | | | | Otherwise, propagate the exit code from bfs | ||||
* | tests: Print the skip reason for --verbose=skipped | Tavian Barnes | 2022-12-16 | 2 | -8/+10 |
| | |||||
* | tests: Turn on set -e | Tavian Barnes | 2022-12-16 | 26 | -98/+69 |
| | |||||
* | tests: Move crash detection into invoke_bfs, use ! instead of fail | Tavian Barnes | 2022-12-16 | 67 | -78/+72 |
| | |||||
* | tests: Replace skip_unless test with test || skip | Tavian Barnes | 2022-12-16 | 44 | -78/+67 |
| | |||||
* | tests: Fix crash when stderr is redirected | Tavian Barnes | 2022-12-14 | 1 | -1/+7 |
| | | | | | | | | | | | | | bash uses fileno(stderr) to keep track of $COLUMNS. With stderr redirected, $COLUMNS will be unset, leading to $ ./tests/tests.sh 2> >(cat) ./tests/tests.sh: line 635: COLUMNS: unbound variable Fix it by using $(tput cols) if $COLUMNS is unset, which is almost POSIX. Link: https://www.austingroupbugs.net/view.php?id=1053 | ||||
* | tests/posix/readdir_error: Fix flakiness | Tavian Barnes | 2022-12-14 | 1 | -7/+23 |
| | |||||
* | tests: Add a test for readdir() errors | Tavian Barnes | 2022-12-13 | 1 | -0/+21 |
| | |||||
* | config: New BFS_COUNTOF macro | Tavian Barnes | 2022-12-07 | 1 | -1/+2 |
| | |||||
* | tests: Allow wildcard patterns like "posix/*" | Tavian Barnes | 2022-12-02 | 1 | -48/+31 |
| | |||||
* | parse: Fix crash on -xdev -mount | Tavian Barnes | 2022-11-30 | 2 | -0/+21 |
| | |||||
* | parse: Pass the right argument when warning about -O9 | Tavian Barnes | 2022-11-30 | 2 | -0/+22 |
| | |||||
* | tests: Avoid syslog() using a low fd on macOS | Tavian Barnes | 2022-11-20 | 1 | -5/+16 |
| | |||||
* | exec: Fix index overflow parsing -exec + | Tavian Barnes | 2022-11-11 | 2 | -0/+4 |
| | |||||
* | typo: Array bounds are exclusive, not inclusive | Tavian Barnes | 2022-11-10 | 1 | -0/+1 |
| | |||||
* | Revert "exec: Don't flush if the user says no to -ok" | Tavian Barnes | 2022-11-10 | 3 | -1/+24 |
| | | | | | | | | | | | From the bfs_ctx_flush() implementation: // Before executing anything, flush all open streams. This ensures that // - the user sees everything relevant before an -ok[dir] prompt But that only works if we call it before the prompt. This reverts commit 21344dfb72f9b65b366ca5f754f1bc35f52da3c7. | ||||
* | pwcache: Fill the user/group caches lazily | Tavian Barnes | 2022-11-09 | 2 | -2/+11 |
| | | | | | | | 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. | ||||
* | tests/xtouch: Add some missing POSIX touch features | Tavian Barnes | 2022-11-08 | 2 | -51/+104 |
| | |||||
* | tests/xtouch: New utility | Tavian Barnes | 2022-11-07 | 22 | -88/+255 |
| | | | | | | 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). | ||||
* | tests: Skip fstype tests if the mtab isn't available | Tavian Barnes | 2022-11-06 | 2 | -1/+8 |
| | |||||
* | trie: Make leaves into a linked list | Tavian Barnes | 2022-10-29 | 1 | -0/+15 |
| | |||||
* | tests: Fix privilege dropping when run as root | Tavian Barnes | 2022-10-21 | 1 | -1/+1 |
| | | | | Fixes: 412102712921e2b051da1d2ae9171d67a2a4bd61 | ||||
* | tests/gnu/inum_automount: Work around systemd-mount race | Tavian Barnes | 2022-10-21 | 2 | -6/+6 |
| | | | | | | | | | | | | This test used systemd-mount to set up an automount on scratch/mnt. If a previous test mounted something there, systemd will notice that asynchronously and may not have noticed the unmount by the time that test runs. This led to the test randomly being skipped sometimes when systemd-mount failed. It could be reproduced with a loop like this: $ for _ in {1..10}; ./tests/tests.sh common/L_mount gnu/inum_automount Work around it by using scratch/automnt instead to avoid conflicts. | ||||
* | tests: Always clean scratch before using it | Tavian Barnes | 2022-10-20 | 4 | -0/+4 |
| |