Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Enable -Wimplicit-fallthrough | Tavian Barnes | 2021-06-02 | 1 | -5/+5 |
| | |||||
* | parse: launch_pager(): set the LESS environment variable if it is empty. | Markus F.X.J. Oberhumer | 2021-04-14 | 1 | -7/+12 |
| | |||||
* | parse: check if PAGER environment variable is empty. | Markus F.X.J. Oberhumer | 2021-04-13 | 1 | -1/+1 |
| | |||||
* | Support -flags on all the BSDs | Tavian Barnes | 2021-03-06 | 1 | -26/+9 |
| | |||||
* | Implement -flags, from FreeBSD find | Tavian Barnes | 2021-03-06 | 1 | -0/+55 |
| | | | | This is the last BSD-specific primary I'm aware of. Fixes #14. | ||||
* | Update copyright dates | Tavian Barnes | 2021-02-05 | 1 | -1/+1 |
| | |||||
* | dir: New DIR* facade | Tavian Barnes | 2021-01-28 | 1 | -10/+11 |
| | |||||
* | parse: Fix the token type of -nowarn | Tavian Barnes | 2021-01-24 | 1 | -1/+1 |
| | |||||
* | -perm: Use +t instead of ug+t | Tavian Barnes | 2021-01-13 | 1 | -2/+4 |
| | | | | | | | | | The chmod spec says that ug+t is unspecified, and only +t or a+t is guaranteed to actually set the sticky bit. In practice GNU tools respect o+t as well, but ignore u+t/g+t. Fix the implementation to match GNU, and only test the POSIX required parse. | ||||
* | Give messages to unconditional assertion failures | Tavian Barnes | 2020-12-02 | 1 | -1/+1 |
| | |||||
* | parse: Clean up debug flag parsing/printing | Tavian Barnes | 2020-12-02 | 1 | -37/+22 |
| | |||||
* | parse: Don't pass an uninitialized regex_t to regerror() | Tavian Barnes | 2020-11-28 | 1 | -1/+1 |
| | |||||
* | Include what I use | Tavian Barnes | 2020-11-12 | 1 | -4/+3 |
| | | | | Thanks to https://github.com/include-what-you-use/include-what-you-use | ||||
* | New -status option to display a status bar | Tavian Barnes | 2020-11-03 | 1 | -3/+16 |
| | |||||
* | exec: Adjust some calling conventions | Tavian Barnes | 2020-10-06 | 1 | -3/+3 |
| | |||||
* | printf: Adjust some calling conventions | Tavian Barnes | 2020-10-06 | 1 | -3/+3 |
| | |||||
* | diag: New bfs_perror() function | Tavian Barnes | 2020-10-05 | 1 | -16/+23 |
| | |||||
* | parse: Fail if -color is passed and the colors couldn't be parsed | Tavian Barnes | 2020-10-04 | 1 | -0/+10 |
| | |||||
* | parse: More accurate error reporting for cfdup() | Tavian Barnes | 2020-10-04 | 1 | -1/+7 |
| | |||||
* | parse: Report errors when failing to add a root | Tavian Barnes | 2020-10-04 | 1 | -1/+5 |
| | |||||
* | Rename struct cmdline to bfs_ctx | Tavian Barnes | 2020-09-27 | 1 | -310/+172 |
| | | | | | The API remains similar, with some added accessor functions for lazy initialization of the pwcache and mtab. | ||||
* | stat: Rename bfs_stat_flag to _flags | Tavian Barnes | 2020-09-18 | 1 | -1/+1 |
| | | | | Flags enums should be plural. | ||||
* | Implement -xattrname | Tavian Barnes | 2020-08-13 | 1 | -0/+20 |
| | | | | From macOS find. | ||||
* | bftw: Make some flag names more explicit | Tavian Barnes | 2020-07-29 | 1 | -15/+15 |
| | |||||
* | bftw: Rename bftw_typeflag to bftw_type, and make it not a bitmask | Tavian Barnes | 2020-07-29 | 1 | -4/+5 |
| | |||||
* | Implement exponential deepening search | Tavian Barnes | 2020-06-16 | 1 | -3/+10 |
| | |||||
* | parse: Color the optimization level differently in dump_cmdline() | Tavian Barnes | 2020-06-07 | 1 | -1/+1 |
| | |||||
* | opt: Dump the command line before optimizing with -D opt | Tavian Barnes | 2020-06-07 | 1 | -2/+2 |
| | |||||
* | parse: Prohibit actions inside -exclude | Tavian Barnes | 2020-06-07 | 1 | -1/+19 |
| | |||||
* | Treat -nohidden like -exclude -hidden | Tavian Barnes | 2020-06-07 | 1 | -7/+21 |
| | | | | Fixes #30. | ||||
* | Implement -exclude, a special form for convenient exclusions | Tavian Barnes | 2020-06-07 | 1 | -0/+31 |
| | | | | Fixes #8. | ||||
* | diag: Unify debug printing | Tavian Barnes | 2020-06-02 | 1 | -53/+18 |
| | |||||
* | opt: Track data flow information about predicates | Tavian Barnes | 2020-05-22 | 1 | -2/+2 |
| | | | | | | | | | | This allows us to optimize things like -sparse -o -not -sparse <==> -true and -sparse -a -not -sparse <==> -false | ||||
* | pwcache: Rename from passwd.[ch] | Tavian Barnes | 2020-04-22 | 1 | -1/+1 |
| | |||||
* | 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 | 1 | -0/+11 |
| | |||||
* | 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 | 1 | -51/+57 |
| | |||||
* | parse: Prettify some of the option-specific help | Tavian Barnes | 2020-03-20 | 1 | -41/+32 |
| | |||||
* | parse: Don't warn if POSIXLY_CORRECT is set | Tavian Barnes | 2020-03-15 | 1 | -2/+4 |
| | |||||
* | diag: Make the -warn flag part of the cmdline | Tavian Barnes | 2020-03-15 | 1 | -30/+23 |
| | |||||
* | passwd: Cache the user/group tables | Tavian Barnes | 2020-02-29 | 1 | -6/+44 |
| | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | parse: Don't return success for invalid parse_int() calls with -DNDEBUG | Tavian Barnes | 2020-02-25 | 1 | -2/+2 |
| | |||||
* | time: Split out time-related functions from util | Tavian Barnes | 2020-02-13 | 1 | -145/+14 |
| | |||||
* | parse: Handle 1969-12-31T23:59:59Z | Tavian Barnes | 2020-02-13 | 1 | -13/+14 |
| | | | | | 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 | 1 | -20/+52 |
| | |||||
* | 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. |