Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | dstring: Initialize freshly-allocated strings | Tavian Barnes | 2019-01-31 | 1 | -0/+1 |
| | | | | | | | | | | 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. | ||||
* | Release 1.3.21.3.2 | Tavian Barnes | 2019-01-11 | 3 | -2/+11 |
| | |||||
* | parse: Allow multiple comma-separated debug flags | Tavian Barnes | 2019-01-11 | 2 | -54/+91 |
| | |||||
* | color.c: Fix an out-of-bounds read if LS_COLORS doesn't end in a colon | Tavian Barnes | 2019-01-11 | 1 | -9/+9 |
| | |||||
* | Release 1.3.11.3.1 | Tavian Barnes | 2019-01-03 | 3 | -3/+11 |
| | |||||
* | posix1e: Don't #include <sys/capability.h> on FreeBSD | Tavian Barnes | 2019-01-03 | 3 | -7/+9 |
| | | | | | | | | 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. | ||||
* | stat: s/ENODATA/ENOTSUP, since ENODATA is POSIX-optional | Tavian Barnes | 2019-01-03 | 1 | -3/+3 |
| | | | | Fixes half of #40. | ||||
* | Release 1.31.3 | Tavian Barnes | 2019-01-02 | 3 | -4/+4 |
| | |||||
* | posix1e: Split out ACL and capability handling from util | Tavian Barnes | 2019-01-02 | 9 | -185/+248 |
| | |||||
* | color: Fix more incompatibilities with GNU ls | Tavian Barnes | 2019-01-02 | 15 | -31/+267 |
| | |||||
* | color: Check format strings + args for cfprintf() | Tavian Barnes | 2019-01-02 | 8 | -312/+353 |
| | | | | | | %{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. | ||||
* | diag: Unify diagnostic formatting | Tavian Barnes | 2019-01-02 | 9 | -136/+271 |
| | | | | | | 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. | ||||
* | README.md: Fix broken macOS find man page link | Tavian Barnes | 2018-12-30 | 1 | -1/+1 |
| | |||||
* | Hide unsupported options from -help | Tavian Barnes | 2018-12-30 | 1 | -0/+6 |
| | |||||
* | RELEASES.md: Update for the next release | Tavian Barnes | 2018-12-30 | 1 | -0/+21 |
| | |||||
* | tests: Fix test_exit() to not depend on breadth-first ordering | Tavian Barnes | 2018-12-28 | 2 | -16/+1 |
| | |||||
* | color: Don't bail out on colors that exist but are NULL | Tavian Barnes | 2018-12-28 | 1 | -14/+7 |
| | |||||
* | parse: Handle argc == 0 | Tavian Barnes | 2018-12-28 | 1 | -0/+6 |
| | | | | | Linux allows you to exec() with no argument list at all. Default to "bfs" in that case. | ||||
* | stat: Provide a helper for getting human-readable field names | Tavian Barnes | 2018-12-25 | 4 | -60/+73 |
| | | | | And fix -newerXY if the Y time doesn't exist. | ||||
* | stat: Unify bfs_stat_time() implementations | Tavian Barnes | 2018-12-20 | 4 | -45/+39 |
| | |||||
* | stat: Handle statx() not returning some times | Tavian Barnes | 2018-12-19 | 2 | -14/+44 |
| | | | | | | /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. | ||||
* | parse: Fix probabilities when -types are duplicated | Tavian Barnes | 2018-12-19 | 1 | -16/+24 |
| | | | | -type f,f does not have more than a 100% probability of success. | ||||
* | parse: Add cost info for -acl and -capable | Tavian Barnes | 2018-12-19 | 1 | -2/+6 |
| | | | | And set ephemeral_fds correctly too. | ||||
* | util: Don't leak an acl_t on non-POSIX.1e platforms | Tavian Barnes | 2018-12-19 | 1 | -1/+2 |
| | |||||
* | util: Support systems that don't define the POSIX.1e ACL tag values | Tavian Barnes | 2018-12-18 | 1 | -0/+4 |
| | |||||
* | travis: Install the POSIX.1e headers | Tavian Barnes | 2018-12-18 | 1 | -0/+8 |
| | |||||
* | Implement -acl test | Tavian Barnes | 2018-12-17 | 7 | -2/+110 |
| | |||||
* | Add new -capable test | Tavian Barnes | 2018-12-17 | 4 | -0/+33 |
| | |||||
* | color: Support coloring files with capabilities | Tavian Barnes | 2018-12-17 | 4 | -5/+115 |
| | |||||
* | Makefile: Link with -lrt on Linux | Tavian Barnes | 2018-12-17 | 1 | -2/+14 |
| | | | | Fixes #29. | ||||
* | tests.sh: Add a --help with usage information | Tavian Barnes | 2018-12-17 | 1 | -1/+36 |
| | |||||
* | bftw: Move bftw_typeflag conversion out of util | Tavian Barnes | 2018-12-17 | 6 | -112/+107 |
| | | | | Turns out incomplete enum types are a GNU C extension. | ||||
* | color: Make extension detection case-insensitive | Tavian Barnes | 2018-12-17 | 1 | -8/+18 |
| | | | | It's what GNU ls does. | ||||
* | color: Don't print the leading directory color if there's no leading directory | Tavian Barnes | 2018-12-17 | 2 | -24/+23 |
| | |||||
* | bfs(1): Fix some double spaces after exclamation marks | Tavian Barnes | 2018-12-03 | 1 | -9/+2 |
| | |||||
* | exec: Reject -exec \; without a command | Tavian Barnes | 2018-11-14 | 2 | -1/+20 |
| | | | | | | | | | | | 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 {} \; | ||||
* | tests: Don't assume BSD find has the "implicit ." | Tavian Barnes | 2018-11-14 | 1 | -3/+2 |
| | | | | Also, FreeBSD find rejects -L -delete, so don't test it under --bsd. | ||||
* | tests: Don't assume find continues after filesystem loops | Tavian Barnes | 2018-11-14 | 19 | -37/+100 |
| | | | | | | | | | | | 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. | ||||
* | Check for <sys/param.h> before including it | Tavian Barnes | 2018-11-08 | 4 | -9/+24 |
| | | | | Fixes #38. | ||||
* | util: Provide fallback implementations of makedev()/major()/minor() | Tavian Barnes | 2018-11-02 | 1 | -0/+14 |
| | |||||
* | parse: Use a better reference point for incomplete expression errors | Tavian Barnes | 2018-11-02 | 1 | -1/+8 |
| | | | | | This makes `bfs -not type d` complain about nothing following the `-not` rather than the `d`. | ||||
* | parse: Add support for -D all to enable all debug flags | Tavian Barnes | 2018-11-02 | 2 | -0/+5 |
| | |||||
* | parse: Improve -D diagnostics | Tavian Barnes | 2018-11-02 | 1 | -12/+26 |
| | |||||
* | util: Wrap __has_include() | Tavian Barnes | 2018-11-01 | 3 | -6/+8 |
| | |||||
* | Print device major/minor numbers for -ls | Tavian Barnes | 2018-11-01 | 5 | -9/+56 |
| | |||||
* | tests: Make the weird names tests POSIX-compliant | Tavian Barnes | 2018-11-01 | 1 | -6/+6 |
| | |||||
* | tests: Add testcases for -prune | Tavian Barnes | 2018-11-01 | 4 | -0/+45 |
| | |||||
* | Remove man page on make uninstall | Tavian Barnes | 2018-11-01 | 1 | -0/+1 |
| | |||||
* | tests: Sort test lists | Tavian Barnes | 2018-09-27 | 1 | -159/+292 |
| | |||||
* | tests: Move test for -H -newer out of POSIX | Tavian Barnes | 2018-09-27 | 1 | -1/+2 |
| | | | | | The POSIX spec implies that -newer is actually not supposed to respect -H/-L. But all implementations I know about do anyway. |