Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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. | ||||
* | tests: Remove non-POSIX features from POSIX tests | Tavian Barnes | 2018-09-26 | 1 | -13/+21 |
| | | | | Credit to http://core.suckless.org/sbase/ for identifying these. | ||||
* | Update some more copyright dates | Tavian Barnes | 2018-09-26 | 2 | -2/+2 |
| | |||||
* | Merge branch 'release-1.2.4' | Tavian Barnes | 2018-09-24 | 19 | -19/+32 |
|\ | |||||
| * | Release 1.2.41.2.4 | Tavian Barnes | 2018-09-24 | 3 | -2/+15 |
| | | |||||
| * | Update copyright dates | Tavian Barnes | 2018-09-24 | 19 | -19/+19 |
| | | |||||
* | | spawn: Add some docs | Tavian Barnes | 2018-09-19 | 2 | -9/+54 |
| | | |||||
* | | spawn: Implement execvpe() on platforms that lack it | Tavian Barnes | 2018-09-19 | 1 | -1/+11 |
| | | | | | | | | | | | | 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. | ||||
* | | spawn: New posix_spawn()-like API for exec | Tavian Barnes | 2018-09-18 | 6 | -85/+243 |
|/ | |||||
* | exec: Don't leave zombies around if the child fails to exec() | Tavian Barnes | 2018-09-12 | 1 | -10/+10 |
| | |||||
* | exec: More fixes for bfs_exec_debug() changing errno | Tavian Barnes | 2018-09-10 | 1 | -3/+4 |
| | |||||
* | opt: Re-run optimizations after reordering expressions | Tavian Barnes | 2018-08-18 | 4 | -25/+92 |
| | | | | | This catches new data flow inferences that can be made after swapping the children of an expression. | ||||
* | color: Fix a doc comment typo | Tavian Barnes | 2018-08-16 | 1 | -1/+1 |
| | |||||
* | Add some missing fallthrough comments | Tavian Barnes | 2018-08-16 | 2 | -0/+2 |
| | |||||
* | util: Preserve errno in pipe_cloexec() | Tavian Barnes | 2018-07-24 | 1 | -0/+2 |
| | |||||
* | util: macOS doesn't have pipe2() | Tavian Barnes | 2018-07-24 | 1 | -1/+2 |
| | | | | | | | The code was testing for BSD, since all the normal BSDs have it. But until recently, <sys/param.h> wasn't included, so BSD was undefined even on platforms that define it. Now that it is defined appropriately, exclude macOS specifically. | ||||
* | printf: Support all standard strftime() directives | Tavian Barnes | 2018-07-24 | 1 | -10/+20 |
| | |||||
* | printf: Support %B, GNU find's undocumented birth time specifier | Tavian Barnes | 2018-07-24 | 2 | -7/+8 |
| | |||||
* | stat: Don't assume blocks are 512 bytes | Tavian Barnes | 2018-07-24 | 3 | -6/+24 |
| | | | | | | | | | | | | POSIX says > The unit for the st_blocks member of the stat structure is not defined > within POSIX.1‐2008. and recommends using DEV_BSIZE from <sys/param.h> if available. Also, for -printf '%S', print 1 instead of NaN for empty files with no blocks. |