summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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
2018-12-18travis: Install the POSIX.1e headersTavian Barnes
2018-12-17Implement -acl testTavian Barnes
2018-12-17Add new -capable testTavian Barnes
2018-12-17color: Support coloring files with capabilitiesTavian Barnes
2018-12-17Makefile: Link with -lrt on LinuxTavian Barnes
Fixes #29.
2018-12-17tests.sh: Add a --help with usage informationTavian Barnes
2018-12-17bftw: Move bftw_typeflag conversion out of utilTavian Barnes
Turns out incomplete enum types are a GNU C extension.
2018-12-17color: Make extension detection case-insensitiveTavian Barnes
It's what GNU ls does.
2018-12-17color: Don't print the leading directory color if there's no leading directoryTavian Barnes
2018-12-03bfs(1): Fix some double spaces after exclamation marksTavian Barnes
2018-11-14exec: Reject -exec \; without a commandTavian Barnes
Prior to this, we'd fork and then segfault on every file as NULL was passed to execvpe(). Found while looking through old FreeBSD find bugs: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=36521 bfs still supports the (dubious, possibly unintentional?) GNU find extension to POSIX that allows $ bfs -exec {} \;
2018-11-14tests: Don't assume BSD find has the "implicit ."Tavian Barnes
Also, FreeBSD find rejects -L -delete, so don't test it under --bsd.
2018-11-14tests: Don't assume find continues after filesystem loopsTavian Barnes
POSIX says > When it detects an infinite loop, find shall write a diagnostic > message to standard error and shall either recover its position in the > hierarchy or terminate. So make the 'links' folder not have any loops, and add a new 'loops' folder for testing the GNU/bfs behaviour.
2018-11-08Check for <sys/param.h> before including itTavian Barnes
Fixes #38.
2018-11-02util: Provide fallback implementations of makedev()/major()/minor()Tavian Barnes
2018-11-02parse: Use a better reference point for incomplete expression errorsTavian Barnes
This makes `bfs -not type d` complain about nothing following the `-not` rather than the `d`.
2018-11-02parse: Add support for -D all to enable all debug flagsTavian Barnes
2018-11-02parse: Improve -D diagnosticsTavian Barnes
2018-11-01util: Wrap __has_include()Tavian Barnes
2018-11-01Print device major/minor numbers for -lsTavian Barnes
2018-11-01tests: Make the weird names tests POSIX-compliantTavian Barnes
2018-11-01tests: Add testcases for -pruneTavian Barnes
2018-11-01Remove man page on make uninstallTavian Barnes
2018-09-27tests: Sort test listsTavian Barnes
2018-09-27tests: Move test for -H -newer out of POSIXTavian Barnes
The POSIX spec implies that -newer is actually not supposed to respect -H/-L. But all implementations I know about do anyway.
2018-09-26tests: Remove non-POSIX features from POSIX testsTavian Barnes
Credit to http://core.suckless.org/sbase/ for identifying these.
2018-09-26Update some more copyright datesTavian Barnes
2018-09-24Merge branch 'release-1.2.4'Tavian Barnes
2018-09-24Release 1.2.41.2.4Tavian Barnes
2018-09-24Update copyright datesTavian Barnes
2018-09-19spawn: Add some docsTavian Barnes
2018-09-19spawn: Implement execvpe() on platforms that lack itTavian Barnes
Credit to https://github.com/nim-lang/Nim/issues/3138 for the idea to just overwrite environ and call execvp() instead of duplicating the path searching logic.