Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | bftw: Share the fd between the cache and open bfs_dir | Tavian Barnes | 2021-01-29 | 1 | -38/+27 | |
| | | | | | | This avoids many dup()s. On Linux, we can completely avoid needing to dup() directory fds. On non-Linux, we only dup() when there are unexplored subdirectories. | |||||
* | dir: Add a Linux implementation using the getdents() syscall directly | Tavian Barnes | 2021-01-29 | 2 | -15/+113 | |
| | ||||||
* | dir: Add missing #include <sys/stat.h> | Tavian Barnes | 2021-01-28 | 1 | -0/+1 | |
| | ||||||
* | main: Add some new source files to the top-level comment | Tavian Barnes | 2021-01-28 | 1 | -0/+2 | |
| | ||||||
* | dir: New DIR* facade | Tavian Barnes | 2021-01-28 | 12 | -302/+473 | |
| | ||||||
* | bftw: Get rid of bftw_reader | Tavian Barnes | 2021-01-28 | 1 | -98/+64 | |
| | ||||||
* | bftw: Avoid allocating when handling ENAMETOOLONG | Tavian Barnes | 2021-01-28 | 1 | -52/+30 | |
| | ||||||
* | bftw: Allow for NULL base when recovering from EMFILE | Tavian Barnes | 2021-01-28 | 1 | -1/+1 | |
| | ||||||
* | Enable -Wshadow by default | Tavian Barnes | 2021-01-28 | 2 | -11/+11 | |
| | | | | And fix the one case it warns on. | |||||
* | parse: Fix the token type of -nowarn | Tavian Barnes | 2021-01-24 | 1 | -1/+1 | |
| | ||||||
* | Makefile: Install completions | Tavian Barnes | 2021-01-24 | 1 | -1/+4 | |
| | ||||||
* | completions/bash: Some improvements | Tavian Barnes | 2021-01-24 | 1 | -191/+342 | |
| | ||||||
* | Merge pull request #64 from bmundt6/main | Tavian Barnes | 2021-01-23 | 1 | -0/+194 | |
|\ | | | | | Bash completion | |||||
| * | Clean up completion script, add symbolic permission modes completion | Benjamin Mundt | 2020-12-22 | 1 | -16/+40 | |
| | | ||||||
| * | Bash completion | Benjamin Mundt | 2020-12-17 | 1 | -0/+170 | |
| | | ||||||
* | | -used: Make the implementation match the GNU fixes for findutils 4.8.0 | Tavian Barnes | 2021-01-13 | 1 | -2/+7 | |
| | | ||||||
* | | tests: -sparse is BSD, not GNU | Tavian Barnes | 2021-01-13 | 1 | -1/+3 | |
| | | ||||||
* | | -perm: Use +t instead of ug+t | Tavian Barnes | 2021-01-13 | 2 | -3/+5 | |
| | | | | | | | | | | | | | | | | | | The chmod spec says that ug+t is unspecified, and only +t or a+t is guaranteed to actually set the sticky bit. In practice GNU tools respect o+t as well, but ignore u+t/g+t. Fix the implementation to match GNU, and only test the POSIX required parse. | |||||
* | | Revert "travis: Add an arm64 build" | Tavian Barnes | 2021-01-13 | 1 | -4/+0 | |
| | | | | | | | | | | | | 25 minute builds are not great for the new pay-as-you-go billing. This reverts commit df1b80a86038cb6b42d6126a7f4ed60b33747c0b. | |||||
* | | travis: Add an arm64 build | Tavian Barnes | 2021-01-07 | 1 | -0/+4 | |
| | | ||||||
* | | travis: Use edge instances | Tavian Barnes | 2021-01-07 | 1 | -0/+1 | |
| | | ||||||
* | | Makefile: Fix behaviour if .flags doesn't exist yet | Tavian Barnes | 2020-12-19 | 1 | -1/+7 | |
|/ | ||||||
* | Makefile: Clean up check dependencies a bit | Tavian Barnes | 2020-12-16 | 1 | -8/+12 | |
| | ||||||
* | Makefile: Avoid rebuilding everything for make release main.o | Tavian Barnes | 2020-12-16 | 1 | -20/+25 | |
| | | | | | | To do this we need to only add the release: default dependency if no non-flag goals are specified on the command line. While I'm at it, simplify and coalesce a few recipes. | |||||
* | Makefile: Rebuild whenever the build flags change | Tavian Barnes | 2020-12-10 | 4 | -2/+17 | |
| | | | | | This removes the need to do make clean before rebuilding with a new build type. | |||||
* | Give messages to unconditional assertion failures | Tavian Barnes | 2020-12-02 | 5 | -6/+6 | |
| | ||||||
* | parse: Clean up debug flag parsing/printing | Tavian Barnes | 2020-12-02 | 4 | -64/+54 | |
| | ||||||
* | travis: Do parallel builds | Tavian Barnes | 2020-11-30 | 1 | -2/+2 | |
| | ||||||
* | travis: Try the experimental FreeBSD environment | Tavian Barnes | 2020-11-30 | 3 | -15/+6 | |
| | ||||||
* | util: Use fgetc(stdin) instead of getchar() | Tavian Barnes | 2020-11-30 | 1 | -1/+1 | |
| | | | | | On FreeBSD the getchar() macro leads to (spurious?) msan uninitialized value errors. Call the fgetc() library function to work around it. | |||||
* | travis: Add a ppc64le build | Tavian Barnes | 2020-11-30 | 1 | -8/+18 | |
| | ||||||
* | Makefile: Clean up flag handling a bit | Tavian Barnes | 2020-11-30 | 1 | -4/+4 | |
| | ||||||
* | Makefile: Only do -m32 during distcheck on x86_64 | Tavian Barnes | 2020-11-30 | 1 | -0/+6 | |
| | | | | Multilib isn't well-supported outside of x86. | |||||
* | travis: Switch to the LXD-based infrastructure | Tavian Barnes | 2020-11-30 | 2 | -3/+6 | |
| | ||||||
* | Makefile: Run tests with --verbose during distcheck | Tavian Barnes | 2020-11-28 | 1 | -1/+3 | |
| | ||||||
* | parse: Don't pass an uninitialized regex_t to regerror() | Tavian Barnes | 2020-11-28 | 1 | -1/+1 | |
| | ||||||
* | color: Add an intermediate buffer | Tavian Barnes | 2020-11-28 | 2 | -68/+104 | |
| | | | | | | | cfprintf() on an unbuffered file like stderr was causing a lot of write() calls since every format specifier resulted in a separate fwrite(). This led to inefficiency and bad interleaving. Add our own dstring buffer to smooth it out. | |||||
* | dstring: New dstrdcat(), dstrcatf(), dstrvcatf() functions | Tavian Barnes | 2020-11-28 | 2 | -23/+97 | |
| | ||||||
* | eval: Make -hidden behave consistently | Tavian Barnes | 2020-11-28 | 3 | -1/+19 | |
| | | | | | | | | | | | | | | | Previously there was an unexpected difference between $ bfs .hidden -hidden and $ bfs ./.hidden -hidden ./.hidden The intent of the code was to avoid considering `.`, the default starting point, as hidden and thus pruning a whole search with -nohidden. Fix it to do that explicitly, and handle `..` too. | |||||
* | stat: #include <unistd.h> for syscall() when needed | Tavian Barnes | 2020-11-18 | 1 | -0/+1 | |
| | ||||||
* | Include what I use | Tavian Barnes | 2020-11-12 | 29 | -36/+31 | |
| | | | | Thanks to https://github.com/include-what-you-use/include-what-you-use | |||||
* | ctx: Add missing #include <limits.h> | Tavian Barnes | 2020-11-12 | 1 | -0/+1 | |
| | | | | Spotted at https://github.com/freebsd/freebsd-ports/commit/4d80040cb4c10271b375f3b5d70d2b29dae7fc6f | |||||
* | Release 2.12.1 | Tavian Barnes | 2020-11-11 | 3 | -2/+12 | |
| | ||||||
* | tests: Don't squelch stderr with --verbose | Tavian Barnes | 2020-11-11 | 1 | -48/+64 | |
| | ||||||
* | tests: Test LS_COLORS extension lowercasing | Tavian Barnes | 2020-11-10 | 1 | -2/+2 | |
| | ||||||
* | Makefile: New gcov target | Tavian Barnes | 2020-11-10 | 2 | -1/+9 | |
| | ||||||
* | opt: Assert that we don't do disabled optimizations | Tavian Barnes | 2020-11-10 | 1 | -0/+2 | |
| | ||||||
* | tests: Improve test coverage a bit | Tavian Barnes | 2020-11-10 | 13 | -0/+350 | |
| | ||||||
* | tests: Add missing expectations from dd3bbb9 | Tavian Barnes | 2020-11-09 | 2 | -0/+38 | |
| | ||||||
* | opt: Predicates aren't true when they're false | Tavian Barnes | 2020-11-09 | 2 | -2/+14 | |
| | | | | | | | | | | | | This unfortunate typo was mostly harmless; since the predicates were always assumed to be true, they wouldn't conflict. The exception is -user/-group, which set -nouser/-nogroup to false for users/groups that exist. Even -O0 wasn't enough to suppress the bug, due to a missing optlevel check fixed in the previous commit. Fixes: 305ee902874b49351f4916e303c293523f11570b |