summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-02-18tests: Add a test for symlink coloring to a deviceTavian Barnes
2019-02-13parse: Wrap -help output at 80 charsTavian Barnes
2019-02-12Fix missing color escape ($) in the -help outputTavian Barnes
2019-02-10Release 1.3.31.3.3Tavian Barnes
2019-02-09Add some documentation commentsTavian Barnes
2019-02-07tests: Add tests for -no{group,user} under fd pressureTavian Barnes
2019-02-06Turn on -Wstrict-prototypesTavian Barnes
2019-02-06Re-write the help/manpageTavian Barnes
I'm not sure people care very much whether the functionality they're looking up originated in POSIX/BSD/GNU find (and if they do, they can check those docs).
2019-02-06parse: Treat -d as a flag, not an optionTavian Barnes
This is consistent with BSD find, not with GNU find. But the GNU find feature was an (incorrect) attempt to be compatible with BSD find anyway.
2019-02-06parse: Add support for whiteouts in -type/-xtypeTavian Barnes
FreeBSD find supports this.
2019-02-06Fix -nouser/-nogroup error handlingTavian Barnes
The proper way to check for nonexistent users/groups is to set errno to 0 before the get{grg,pwu}id() call, and check it afterwards. On doing this, it becomes obvious that the call can fail if bftw() is using all the available FDs, so give them some ephemeral FDs. It would be ideal to read the user/group table only once, but this fixes the bug for now.
2019-02-04opt: Optimize -samefile together with -inumTavian Barnes
2019-02-01Merge branch 'improvements'Tavian Barnes
2019-02-01util: Remove some unused macrosTavian Barnes
2019-02-01opt: Apply data flow optimizations to more numeric rangesTavian Barnes
2019-02-01parse: Remove the recommendation to check find -help or man findTavian Barnes
bfs has had a comprehensive help text and man page for a while now.
2019-02-01tests: New utility for making and testing socket filesTavian Barnes
2019-02-01eval: Fix wrong colors in error messagesTavian Barnes
When reporting an error, we should try to stat the file first so the message can have the right colors.
2019-02-01main: Fix closed standard stream handlingTavian Barnes
bfs >&- should complain about a missing file descriptor, rather than silently succeeding.
2019-02-01Makefile: New distcheck targetTavian Barnes
To catch more errors automatically, this new target runs the tests in multiple configurations, including various sanitizers and with/without optimization.
2019-02-01util: Allow configuration macros to be specified with -DTavian Barnes
In case we need to override them at build time.
2019-01-31stat: Work around msan not knowing about statx()Tavian Barnes
2019-01-31tests: Fail if bfs failsTavian Barnes
For tests that expect bfs to fail, the return value disambiguates whether bfs itself failed or whether the output was unexpected.
2019-01-31dstring: Initialize freshly-allocated stringsTavian Barnes
Previously, a string allocated with dstralloc() had length 0 but no terminating NUL byte there. This was problematic if such a string was used without being modified. In particular, this was reproducible with bfs -ok by not typing any response to the prompt. In that case, uninitialized memory was being tested for a y/n response, with unpredictable results.
2019-01-22Merge pull request #49 from ylluminarious/patch-1Tavian Barnes
Add instructions for installing via MacPorts
2019-01-18add instructions for installing via MacPortsGeorge Plymale II
2019-01-11Release 1.3.21.3.2Tavian Barnes
2019-01-11parse: Allow multiple comma-separated debug flagsTavian Barnes
2019-01-11color.c: Fix an out-of-bounds read if LS_COLORS doesn't end in a colonTavian Barnes
2019-01-03Release 1.3.11.3.1Tavian Barnes
2019-01-03posix1e: Don't #include <sys/capability.h> on FreeBSDTavian Barnes
The file is there by default, but deprecated and not a POSIX.1E implementation. While I'm at it, move the logic to posix1e.h so other files aren't burdened with an extra include. Fixes the other half of #40.
2019-01-03stat: s/ENODATA/ENOTSUP, since ENODATA is POSIX-optionalTavian Barnes
Fixes half of #40.
2019-01-02Release 1.31.3Tavian Barnes
2019-01-02posix1e: Split out ACL and capability handling from utilTavian Barnes
2019-01-02color: Fix more incompatibilities with GNU lsTavian Barnes
2019-01-02color: Check format strings + args for cfprintf()Tavian Barnes
%{cc} is now ${cc} to avoid warnings about an unrecognized format specifier, and %P and %L are now %pP and %pL to make them look more like standard format strings.
2019-01-02diag: Unify diagnostic formattingTavian Barnes
This adds a bfs: prefix to error/warning messages for consistency with other command line tools, and leaves only the "error:"/"warning:" part colored like GCC. It also uniformly adds full stops after messages.
2018-12-30README.md: Fix broken macOS find man page linkTavian Barnes
2018-12-30Hide unsupported options from -helpTavian Barnes
2018-12-30RELEASES.md: Update for the next releaseTavian Barnes
2018-12-28tests: Fix test_exit() to not depend on breadth-first orderingTavian Barnes
2018-12-28color: Don't bail out on colors that exist but are NULLTavian Barnes
2018-12-28parse: Handle argc == 0Tavian Barnes
Linux allows you to exec() with no argument list at all. Default to "bfs" in that case.
2018-12-25stat: Provide a helper for getting human-readable field namesTavian Barnes
And fix -newerXY if the Y time doesn't exist.
2018-12-20stat: Unify bfs_stat_time() implementationsTavian Barnes
2018-12-19stat: Handle statx() not returning some timesTavian Barnes
/sys/fs/cgroup, for example, doesn't return access times from statx(). That shouldn't matter unless we actually need them, so make it not an error.
2018-12-19parse: Fix probabilities when -types are duplicatedTavian Barnes
-type f,f does not have more than a 100% probability of success.
2018-12-19parse: Add cost info for -acl and -capableTavian Barnes
And set ephemeral_fds correctly too.
2018-12-19util: Don't leak an acl_t on non-POSIX.1e platformsTavian Barnes
2018-12-18util: Support systems that don't define the POSIX.1e ACL tag valuesTavian Barnes