Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | opt: Avoid dangling pointers in de_morgan() | Tavian Barnes | 2020-03-23 | 1 | -5/+7 |
| | | | | | | | | If optimize_{and,or}_expr() relocates expr, we need to update the parent expr or else we might return garbage. It seems impossible to actually trigger this bug right now, since the {and,or} optimizations are symmetric, but it could be hit if the simplifications in de_morgan() expose more information than was known previously. | ||||
* | parse: Use the right color when suggesting typo fixes | Tavian Barnes | 2020-03-21 | 1 | -113/+126 |
| | |||||
* | parse: Add -X and -s to -D tree output | Tavian Barnes | 2020-03-21 | 1 | -17/+26 |
| | |||||
* | Implement -s flag from FreeBSD find to sort results | Tavian Barnes | 2020-03-21 | 9 | -3/+208 |
| | |||||
* | bftw: Use a two-star approach to the bftw_queue linked list | Tavian Barnes | 2020-03-20 | 1 | -58/+28 |
| | |||||
* | parse: Fix color code with -D tree -xdev | Tavian Barnes | 2020-03-20 | 1 | -1/+1 |
| | |||||
* | parse: Prettify some errors and warnings | Tavian Barnes | 2020-03-20 | 2 | -52/+58 |
| | |||||
* | parse: Prettify some of the option-specific help | Tavian Barnes | 2020-03-20 | 2 | -42/+38 |
| | |||||
* | Merge pull request #57 from tavianator/cirrus | Tavian Barnes | 2020-03-16 | 3 | -1/+17 |
|\ | | | | | cirrus: Add a Cirrus CI build to test FreeBSD | ||||
| * | cirrus: Add a Cirrus CI build to test FreeBSD | Tavian Barnes | 2020-03-16 | 3 | -1/+17 |
| | | | | | | | | Fixes #41. | ||||
* | | fsade: Fix default ACL processing. | Tavian Barnes | 2020-03-16 | 1 | -38/+50 |
| | | | | | | | | | | | | For default ACLs, any entries at all makes them non-trivial. C.f.: https://lists.freebsd.org/pipermail/posix1e/2014-July/000517.html | ||||
* | | parse: Don't warn if POSIXLY_CORRECT is set | Tavian Barnes | 2020-03-15 | 1 | -2/+4 |
| | | |||||
* | | exec: Warn if a command dies abnormally | Tavian Barnes | 2020-03-15 | 2 | -9/+6 |
| | | |||||
* | | diag: Make the -warn flag part of the cmdline | Tavian Barnes | 2020-03-15 | 3 | -40/+37 |
|/ | |||||
* | README: Put the binary package instructions first | Tavian Barnes | 2020-03-02 | 1 | -20/+20 |
| | |||||
* | README: Replace the screenshot with an animation | Tavian Barnes | 2020-03-02 | 1 | -3/+3 |
| | |||||
* | passwd: Make earlier entries override later ones | Tavian Barnes | 2020-03-02 | 1 | -4/+12 |
| | |||||
* | tests: Add a test for -printf %u/%g with a low ulimit | Tavian Barnes | 2020-03-01 | 1 | -0/+7 |
| | |||||
* | passwd: Cache the user/group tables | Tavian Barnes | 2020-02-29 | 8 | -35/+471 |
| | | | | | | | | | | | | | | | | | | | | | | This is a significant optimization for conditions that need these tables: Benchmark #1: ./bfs ~/code/linux -nouser >/dev/null Time (mean ± σ): 232.0 ms ± 2.5 ms [User: 44.3 ms, System: 185.0 ms] Range (min … max): 228.7 ms … 238.7 ms 12 runs Benchmark #2: ./bfs-1.6 ~/code/linux -nouser >/dev/null Time (mean ± σ): 1.050 s ± 0.012 s [User: 544.2 ms, System: 500.0 ms] Range (min … max): 1.025 s … 1.063 s 10 runs Benchmark #3: find ~/code/linux -nouser >/dev/null Time (mean ± σ): 1.040 s ± 0.012 s [User: 533.6 ms, System: 500.6 ms] Range (min … max): 1.017 s … 1.054 s 10 runs Summary './bfs ~/code/linux -nouser >/dev/null' ran 4.48 ± 0.07 times faster than 'find ~/code/linux -nouser >/dev/null' 4.52 ± 0.07 times faster than './bfs-1.6 ~/code/linux -nouser >/dev/null' | ||||
* | parse: Give -ls and -fls an ephemeral FD for getpwuid()/getgrgid() | Tavian Barnes | 2020-02-29 | 1 | -0/+2 |
| | | | | | | Similar to 9009456c, those functions may open /etc/{passwd,group}, so they need an FD available. Right now, -ls on large trees eventually starts printing numeric IDs instead of usernames/group names. | ||||
* | Release 1.61.6 | Tavian Barnes | 2020-02-25 | 3 | -2/+11 |
| | |||||
* | parse: Don't return success for invalid parse_int() calls with -DNDEBUG | Tavian Barnes | 2020-02-25 | 1 | -2/+2 |
| | |||||
* | eval: Irregular files aren't empty | Tavian Barnes | 2020-02-14 | 3 | -2/+20 |
| | | | | | GNU find's -empty returns false for devices, sockets, etc., even though their st_size is 0. Match that behaviour. | ||||
* | time: Implement xtimegm() without mktime() | Tavian Barnes | 2020-02-13 | 1 | -32/+99 |
| | | | | Using setenv("TZ") is ugly and adds unnecessary failure paths. | ||||
* | time: Split out time-related functions from util | Tavian Barnes | 2020-02-13 | 9 | -278/+351 |
| | |||||
* | parse: Handle 1969-12-31T23:59:59Z | Tavian Barnes | 2020-02-13 | 5 | -19/+66 |
| | | | | | mktime() returns -1 on error, but also for one second before the epoch. Compare the input against localtime(-1) to distinguish those cases. | ||||
* | Implement -{a,B,c,m,}since | Tavian Barnes | 2020-02-12 | 5 | -20/+111 |
| | |||||
* | parse: Set tm_isdst to -1 | Tavian Barnes | 2020-02-12 | 1 | -1/+3 |
| | | | | | This is required by POSIX to ensure the mktime() determines itself whether DST is in effect. | ||||
* | parse: Work around missing `timezone` on FreeBSD | Tavian Barnes | 2020-02-12 | 1 | -0/+5 |
| | | | | | FreeBSD has a function timezone() that conflicts with the global variable, despite that being specified by POSIX. Use tm_gmtoff instead. | ||||
* | Implement explicit reference times (-newerXt) | Tavian Barnes | 2020-02-11 | 5 | -3/+261 |
| | |||||
* | parse: Add a missing NULL check for trie_insert_mem() | Tavian Barnes | 2020-01-22 | 1 | -0/+5 |
| | |||||
* | README: Add FreeBSD install instructions | Tavian Barnes | 2020-01-21 | 1 | -0/+3 |
| | |||||
* | tests: Make test_xattr a sudo test in exactly the right cases | Tavian Barnes | 2020-01-14 | 1 | -11/+14 |
| | | | | This was broken on GNU Hurd, for example. | ||||
* | Release 1.5.21.5.2 | Tavian Barnes | 2020-01-09 | 5 | -6/+18 |
| | |||||
* | fsade: Support checking for xattrs (extattrs) on FreeBSD | Tavian Barnes | 2020-01-08 | 4 | -26/+50 |
| | |||||
* | tests: Fix setting ACLs on Linux | Tavian Barnes | 2020-01-08 | 1 | -14/+15 |
| | |||||
* | Update copyright dates | Tavian Barnes | 2020-01-07 | 5 | -5/+5 |
| | |||||
* | util: Support ports and whiteouts in format_mode() | Tavian Barnes | 2020-01-07 | 1 | -3/+13 |
| | |||||
* | eval: For -ls, print a + if a file has ACLs | Tavian Barnes | 2020-01-07 | 1 | -1/+2 |
| | |||||
* | fsade: Support NFSv4 ACLs on FreeBSD | Tavian Barnes | 2020-01-07 | 2 | -37/+58 |
| | |||||
* | fsade: Don't treat EINVAL as an error | Tavian Barnes | 2020-01-06 | 1 | -0/+6 |
| | | | | | | | | | acl_get_file() will return EINVAL on some platforms (e.g. FreeBSD, macOS) when the requested ACL type is not supported for that file. This fixes `bfs -acl` spewing "Invalid argument." for every file on FreeBSD with ZFS where ACLs are NFSv4 and thus the POSIX.1e ones are not supported. | ||||
* | tests.sh: Bail out if setup fails | Tavian Barnes | 2019-11-01 | 1 | -0/+2 |
| | |||||
* | bftw: Avoid shadowing a variable | Tavian Barnes | 2019-11-01 | 1 | -5/+2 |
| | |||||
* | mtab: Use struct statvfs on NetBSD | Tavian Barnes | 2019-09-24 | 1 | -2/+8 |
| | | | | Fixes #53. | ||||
* | tests: Fix some comments | Tavian Barnes | 2019-09-19 | 1 | -3/+3 |
| | |||||
* | Release 1.5.11.5.1 | Tavian Barnes | 2019-09-14 | 3 | -2/+13 |
| | |||||
* | Update documentation for the -mount/-xdev revert | Tavian Barnes | 2019-09-14 | 2 | -2/+5 |
| | |||||
* | tests: Don't redirect to /dev/null when unnecessary | Tavian Barnes | 2019-09-13 | 1 | -4/+4 |
| | |||||
* | README: Add a version badge, remove the LOC badge | Tavian Barnes | 2019-09-13 | 1 | -1/+1 |
| | |||||
* | Makefile: Test different search strategies in parallel | Tavian Barnes | 2019-09-13 | 1 | -4/+4 |
| |