Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | list: Simplify slist_remove_impl() | Tavian Barnes | 2023-11-09 | 1 | -4/+4 |
| | | | | We now assume that all-bits-zero is a null pointer, so memset is fine. | ||||
* | ioq: Implement a better non-blocking pop | Tavian Barnes | 2023-11-09 | 3 | -102/+189 |
| | |||||
* | parse: Reject -{exec,ok}dir if $PATH contains a relative path | Tavian Barnes | 2023-11-07 | 7 | -0/+32 |
| | | | | This matches the behaviour of GNU find. | ||||
* | tests: Fix output interleaving with -j1 | Tavian Barnes | 2023-11-07 | 1 | -5/+5 |
| | |||||
* | xspawn: Do $PATH resolution up-front | Tavian Barnes | 2023-11-07 | 1 | -21/+19 |
| | | | | | | | | | posix_spawnp() is typically implemented like execvp(), i.e., by repeatedly trying execv() with each $PATH component until it succeeds. This is much slower than resolving the executable path up-front and then calling execv() once, so do that. Fixes: https://github.com/tavianator/bfs/pull/127#issuecomment-1795095126 | ||||
* | Treat NO_COLOR="" the same as unset | Tavian Barnes | 2023-11-06 | 3 | -1/+34 |
| | | | | | | | | | | | | | | The docs say > Command-line software which adds ANSI color to its output by default > should check for a NO_COLOR environment variable that, when present > and not an empty string (regardless of its value), prevents the > addition of ANSI color. but we were not checking for the empty string. Link: https://no-color.org/ Link: https://github.com/sharkdp/fd/pull/1421 | ||||
* | exec: Try harder to use posix_spawn() | Tavian Barnes | 2023-11-06 | 1 | -5/+26 |
| | |||||
* | xspawn: Wrap the real posix_spawn() if possible | Tavian Barnes | 2023-11-06 | 3 | -48/+136 |
| | | | | Fixes #47. | ||||
* | ctx: Store the original and current RLIMIT_NOFILE | Tavian Barnes | 2023-11-06 | 5 | -37/+38 |
| | |||||
* | bfstd: Expose rlim_cmp() | Tavian Barnes | 2023-11-06 | 3 | -33/+40 |
| | |||||
* | bench: New -exec benchmarks | Tavian Barnes | 2023-11-02 | 1 | -3/+89 |
| | |||||
* | tests: Add tests for ulimit -n after -exec | Tavian Barnes | 2023-11-02 | 4 | -0/+36 |
| | |||||
* | bftw: Improve ioq balancing logic | Tavian Barnes | 2023-11-01 | 1 | -13/+22 |
| | |||||
* | bfstd: New xwaitpid() wrapper | Tavian Barnes | 2023-10-31 | 5 | -3/+19 |
| | |||||
* | bftw: Leave work for the main thread if profitable | Tavian Barnes | 2023-10-31 | 1 | -4/+13 |
| | |||||
* | thread: Move thread wrapper functions out of line | Tavian Barnes | 2023-10-27 | 3 | -32/+100 |
| | |||||
* | typo: Shrink the key_coords table | Tavian Barnes | 2023-10-27 | 1 | -2/+3 |
| | |||||
* | Use {0} to initialize mbstate_t rather than memset() | Tavian Barnes | 2023-10-27 | 2 | -12/+6 |
| | |||||
* | eval: TTY-escape paths in the status bar | Tavian Barnes | 2023-10-27 | 1 | -4/+8 |
| | |||||
* | bfstd: Expose xmbrtowc() and use it in eval_status() | Tavian Barnes | 2023-10-27 | 3 | -38/+46 |
| | |||||
* | bfstd: Only free the locale if we dup'd it successfully | Tavian Barnes | 2023-10-26 | 1 | -3/+3 |
| | |||||
* | ci: Run tests in parallel on macOS and FreeBSD | Tavian Barnes | 2023-10-23 | 1 | -2/+3 |
| | |||||
* | tests/bfs/help: Fix exit status | Tavian Barnes | 2023-10-23 | 1 | -4/+4 |
| | |||||
* | tests/bfs/help: Use ... && fail instead of ! ... | Tavian Barnes | 2023-10-23 | 2 | -5/+4 |
| | | | | ! false doesn't trigger an error with set -e. | ||||
* | tests/bfs/printf_color: Fix race condition | Tavian Barnes | 2023-10-23 | 2 | -1/+2 |
| | | | | | Invoking bfs in the top directory can lead it to explore other tests' scratch directories, so explicitly exclude them. | ||||
* | tests: Document -j | Tavian Barnes | 2023-10-23 | 1 | -21/+20 |
| | |||||
* | tests: Clean up verbose logging a bit | Tavian Barnes | 2023-10-23 | 1 | -20/+36 |
| | |||||
* | tests: Fix Bash 3 compatibility | Tavian Barnes | 2023-10-23 | 7 | -37/+47 |
| | |||||
* | tests: Run test cases in parallel | Tavian Barnes | 2023-10-23 | 3 | -16/+64 |
| | |||||
* | tests: Use test-specific scratch directories | Tavian Barnes | 2023-10-22 | 77 | -368/+330 |
| | |||||
* | tests: Fix column detection with redirected stderr | Tavian Barnes | 2023-10-20 | 1 | -1/+1 |
| | |||||
* | tests/color: Remove some useless cats | Tavian Barnes | 2023-10-20 | 4 | -53/+50 |
| | |||||
* | tests: Use xtouch to create the whole deep tree at once | Tavian Barnes | 2023-10-20 | 1 | -15/+6 |
| | |||||
* | tests/xtouch: Recover from ENAMETOOLONG | Tavian Barnes | 2023-10-20 | 1 | -45/+84 |
| | |||||
* | tests: Don't unset array[-1] | Tavian Barnes | 2023-10-19 | 1 | -6/+7 |
| | | | | This was only added in Bash 4.3 which is too new for macOS. | ||||
* | tests: Refactor implementation into separate files | Tavian Barnes | 2023-10-19 | 13 | -823/+906 |
| | |||||
* | tests: Update bash coding style | Tavian Barnes | 2023-10-19 | 1 | -32/+32 |
| | |||||
* | tests: Clean up colorization | Tavian Barnes | 2023-10-19 | 1 | -76/+102 |
| | |||||
* | tests: Use the ERR trap to print the failing command | Tavian Barnes | 2023-10-19 | 1 | -4/+46 |
| | |||||
* | tests: Fix uses of $? with set -e | Tavian Barnes | 2023-10-19 | 1 | -10/+12 |
| | |||||
* | tests: New defer function | Tavian Barnes | 2023-10-19 | 18 | -34/+54 |
| | |||||
* | tests: Rename --noclean -> --no-clean | Tavian Barnes | 2023-10-19 | 1 | -3/+3 |
| | |||||
* | bench: Account for tailfin's at-exit -> defer rename | Tavian Barnes | 2023-10-19 | 1 | -2/+2 |
| | |||||
* | wordesc: Don't allow braces in bare words | Tavian Barnes | 2023-10-18 | 1 | -1/+1 |
| | | | | Things like {a,b} should be quoted to avoid brace expansion. | ||||
* | parse: Set BFTW_WHITEOUTS when parsing -type w | Tavian Barnes | 2023-10-17 | 3 | -0/+105 |
| | |||||
* | bftw: New flag to control whiteout visibility | Tavian Barnes | 2023-10-17 | 3 | -2/+19 |
| | |||||
* | dir: New flag to control whiteout visibility | Tavian Barnes | 2023-10-17 | 2 | -3/+13 |
| | |||||
* | dir: Fix FreeBSD union mounts | Tavian Barnes | 2023-10-17 | 5 | -8/+74 |
| | |||||
* | dir: Add a flags parameter to bfs_opendir() | Tavian Barnes | 2023-10-17 | 6 | -21/+45 |
| | |||||
* | tests: Move closed_std* tests out of the POSIX group | Tavian Barnes | 2023-10-14 | 6 | -2/+8 |
| | | | | | | | | | | | | | 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 |