summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-03-16Color link targets for -lsTavian Barnes
Fixes #18.
2017-03-16Give struct expr a CFILE* instead of just a FILE*Tavian Barnes
This unifies the behaviour of -print and -fprint /dev/stdout.
2017-03-11Release 0.960.96Tavian Barnes
2017-03-11Implement -ls and -flsTavian Barnes
2017-03-11tests: Run everything in UTCTavian Barnes
2017-03-11Add a test for colored outputTavian Barnes
2017-03-11Make a printf()-style API for colored messagesTavian Barnes
2017-03-11Implement -printf %Ak, %Ck, and %TkTavian Barnes
2017-02-11tests: Print the count of passing and failing testsTavian Barnes
2017-02-11Add some tests for the operators themselvesTavian Barnes
2017-02-11Allow short-circuiting optimizations with non-pure operandsTavian Barnes
2017-02-10Add tests for bfs's flexible command line parsingTavian Barnes
2017-02-10tests: Don't require bash associative arraysTavian Barnes
That's a bash 4 feature, while macOS is stuck on bash 3.
2017-02-09bftw: Make the nameoff of "///" point to "/"Tavian Barnes
This simplifies a few things such as -name handling for ///.
2017-02-09Give the test cases human-readable namesTavian Barnes
2017-02-09Don't close stdin for -ok or -okdirTavian Barnes
Turns out it violates POSIX, even though GNU find does it.
2017-02-09parse: Factor out all "looks like icmp" checksTavian Barnes
2017-02-09bftw: Add the DIR* to bftw_stateTavian Barnes
Can't forget to close it that way.
2017-02-08Add support for -x?type with multiple typesTavian Barnes
This functionality is already part of GNU findutils git.
2017-02-07bftw: Add mising closedir() to error pathTavian Barnes
2017-02-07Bail out if parse_root() failsTavian Barnes
Previously, skip_paths() did not distinguish between end-of-arguments and parse_root() failing, returning NULL in both cases. If parse_root() failed, parsing would attempt to continue, in an unexpected state.
2017-02-07Add some missing perror() callsTavian Barnes
2017-02-06bftw: Plug a leak if dirqueue_push() failsTavian Barnes
If bftw_add() succeeds but dirqueue_push() fails, we need to clean up the just-added dircache_entry. Otherwise it will leak, and we'll also fail the cache->size == 0 assertion. Fix it by extracting the dircache-related parts of bftw_pop() into a new helper function bftw_gc(), and call it from bftw_pop() as well as the bftw_push() failure path.
2017-02-06Fix a memory leak parsing -printfTavian Barnes
2017-02-06tests.sh: Set the umask before creating the test treesTavian Barnes
2017-02-05Make -quit happen immediately, not at the end of the current expressionTavian Barnes
2017-02-05bftw: Compute nameoff correctly for the root in BFTW_DEPTH modeTavian Barnes
2017-02-05Implement -printf/-fprintfTavian Barnes
Based on a patch by Fangrui Song <i@maskray.me>. Closes #16.
2017-02-04Implement -nouser and -nogroupTavian Barnes
2017-01-31Don't trust st_size when reading symlinksTavian Barnes
Linux /proc, for example, reports a st_size of 0 for everything. It's nice to be able to use -lname on them anyway.
2017-01-14Simplify exec_chdir()Tavian Barnes
The previous code recomputed the name offset for no reason, and had an embarrassing typo that was hypothetically a bug (`} if` instead of `} else if`).
2017-01-06Don't set _POSIX_C_SOURCETavian Barnes
The BSD behaviour is to hide all BSD extensions if standard-conformance feature test macros are present. We don't want strict POSIX, we want all available extensions, so ask for that.
2017-01-03tests: Add a test for -inumTavian Barnes
2017-01-02tests: Add tests for -quitTavian Barnes
2017-01-02eval: Check that O_DIRECTORY is defined before using itTavian Barnes
2016-12-21travis: Do 32-bit builds tooTavian Barnes
2016-12-21Set _FILE_OFFSET_BITS to 64Tavian Barnes
With the new support for -size n[TP], this is needed to avoid overflow on 32-bit platforms.
2016-12-20Bump the version to 0.880.88Tavian Barnes
2016-12-20Add some text to the -help outputTavian Barnes
2016-12-20Implement -mnewerTavian Barnes
2016-12-20Add tera and peta suffices for -sizeTavian Barnes
2016-12-20Implement -sparse from FreeBSD findTavian Barnes
2016-12-20Support -[gu]id NAME like BSD findTavian Barnes
2016-12-20Don't check errno after get{gr,pw}nam()Tavian Barnes
Turns out it doesn't always keep errno 0, even if the only problem is a failed lookup. This was observed on a machine with Kerberos auth.
2016-12-18Implement BSD find's -depth NTavian Barnes
2016-12-18tests: Allow limiting the testsuite to POSIX, BSD, GNU, and bfs-specific ↵Tavian Barnes
features
2016-12-18tests.sh: Let the bfs binary be specified on the command lineTavian Barnes
2016-12-18Add support for -x (same as -mount/-xdev, from BSD)Tavian Barnes
2016-12-18Implement -regex, -iregex, and -regextype/-ETavian Barnes
2016-12-17bftw: Clean up the dirqueue implementation a bitTavian Barnes