summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* bftw: Share the fd between the cache and open bfs_dirTavian Barnes2021-01-291-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 directlyTavian Barnes2021-01-292-15/+113
|
* dir: Add missing #include <sys/stat.h>Tavian Barnes2021-01-281-0/+1
|
* main: Add some new source files to the top-level commentTavian Barnes2021-01-281-0/+2
|
* dir: New DIR* facadeTavian Barnes2021-01-2812-302/+473
|
* bftw: Get rid of bftw_readerTavian Barnes2021-01-281-98/+64
|
* bftw: Avoid allocating when handling ENAMETOOLONGTavian Barnes2021-01-281-52/+30
|
* bftw: Allow for NULL base when recovering from EMFILETavian Barnes2021-01-281-1/+1
|
* Enable -Wshadow by defaultTavian Barnes2021-01-282-11/+11
| | | | And fix the one case it warns on.
* parse: Fix the token type of -nowarnTavian Barnes2021-01-241-1/+1
|
* Makefile: Install completionsTavian Barnes2021-01-241-1/+4
|
* completions/bash: Some improvementsTavian Barnes2021-01-241-191/+342
|
* Merge pull request #64 from bmundt6/mainTavian Barnes2021-01-231-0/+194
|\ | | | | Bash completion
| * Clean up completion script, add symbolic permission modes completionBenjamin Mundt2020-12-221-16/+40
| |
| * Bash completionBenjamin Mundt2020-12-171-0/+170
| |
* | -used: Make the implementation match the GNU fixes for findutils 4.8.0Tavian Barnes2021-01-131-2/+7
| |
* | tests: -sparse is BSD, not GNUTavian Barnes2021-01-131-1/+3
| |
* | -perm: Use +t instead of ug+tTavian Barnes2021-01-132-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 Barnes2021-01-131-4/+0
| | | | | | | | | | | | 25 minute builds are not great for the new pay-as-you-go billing. This reverts commit df1b80a86038cb6b42d6126a7f4ed60b33747c0b.
* | travis: Add an arm64 buildTavian Barnes2021-01-071-0/+4
| |
* | travis: Use edge instancesTavian Barnes2021-01-071-0/+1
| |
* | Makefile: Fix behaviour if .flags doesn't exist yetTavian Barnes2020-12-191-1/+7
|/
* Makefile: Clean up check dependencies a bitTavian Barnes2020-12-161-8/+12
|
* Makefile: Avoid rebuilding everything for make release main.oTavian Barnes2020-12-161-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 changeTavian Barnes2020-12-104-2/+17
| | | | | This removes the need to do make clean before rebuilding with a new build type.
* Give messages to unconditional assertion failuresTavian Barnes2020-12-025-6/+6
|
* parse: Clean up debug flag parsing/printingTavian Barnes2020-12-024-64/+54
|
* travis: Do parallel buildsTavian Barnes2020-11-301-2/+2
|
* travis: Try the experimental FreeBSD environmentTavian Barnes2020-11-303-15/+6
|
* util: Use fgetc(stdin) instead of getchar()Tavian Barnes2020-11-301-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 buildTavian Barnes2020-11-301-8/+18
|
* Makefile: Clean up flag handling a bitTavian Barnes2020-11-301-4/+4
|
* Makefile: Only do -m32 during distcheck on x86_64Tavian Barnes2020-11-301-0/+6
| | | | Multilib isn't well-supported outside of x86.
* travis: Switch to the LXD-based infrastructureTavian Barnes2020-11-302-3/+6
|
* Makefile: Run tests with --verbose during distcheckTavian Barnes2020-11-281-1/+3
|
* parse: Don't pass an uninitialized regex_t to regerror()Tavian Barnes2020-11-281-1/+1
|
* color: Add an intermediate bufferTavian Barnes2020-11-282-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() functionsTavian Barnes2020-11-282-23/+97
|
* eval: Make -hidden behave consistentlyTavian Barnes2020-11-283-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 neededTavian Barnes2020-11-181-0/+1
|
* Include what I useTavian Barnes2020-11-1229-36/+31
| | | | Thanks to https://github.com/include-what-you-use/include-what-you-use
* ctx: Add missing #include <limits.h>Tavian Barnes2020-11-121-0/+1
| | | | Spotted at https://github.com/freebsd/freebsd-ports/commit/4d80040cb4c10271b375f3b5d70d2b29dae7fc6f
* Release 2.12.1Tavian Barnes2020-11-113-2/+12
|
* tests: Don't squelch stderr with --verboseTavian Barnes2020-11-111-48/+64
|
* tests: Test LS_COLORS extension lowercasingTavian Barnes2020-11-101-2/+2
|
* Makefile: New gcov targetTavian Barnes2020-11-102-1/+9
|
* opt: Assert that we don't do disabled optimizationsTavian Barnes2020-11-101-0/+2
|
* tests: Improve test coverage a bitTavian Barnes2020-11-1013-0/+350
|
* tests: Add missing expectations from dd3bbb9Tavian Barnes2020-11-092-0/+38
|
* opt: Predicates aren't true when they're falseTavian Barnes2020-11-092-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