Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-02-05 | Update copyright dates | Tavian Barnes | |
2021-01-28 | dir: New DIR* facade | Tavian Barnes | |
2021-01-24 | parse: Fix the token type of -nowarn | Tavian Barnes | |
2021-01-13 | -perm: Use +t instead of ug+t | Tavian Barnes | |
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. | |||
2020-12-02 | Give messages to unconditional assertion failures | Tavian Barnes | |
2020-12-02 | parse: Clean up debug flag parsing/printing | Tavian Barnes | |
2020-11-28 | parse: Don't pass an uninitialized regex_t to regerror() | Tavian Barnes | |
2020-11-12 | Include what I use | Tavian Barnes | |
Thanks to https://github.com/include-what-you-use/include-what-you-use | |||
2020-11-03 | New -status option to display a status bar | Tavian Barnes | |
2020-10-06 | exec: Adjust some calling conventions | Tavian Barnes | |
2020-10-06 | printf: Adjust some calling conventions | Tavian Barnes | |
2020-10-05 | diag: New bfs_perror() function | Tavian Barnes | |
2020-10-04 | parse: Fail if -color is passed and the colors couldn't be parsed | Tavian Barnes | |
2020-10-04 | parse: More accurate error reporting for cfdup() | Tavian Barnes | |
2020-10-04 | parse: Report errors when failing to add a root | Tavian Barnes | |
2020-09-27 | Rename struct cmdline to bfs_ctx | Tavian Barnes | |
The API remains similar, with some added accessor functions for lazy initialization of the pwcache and mtab. | |||
2020-09-18 | stat: Rename bfs_stat_flag to _flags | Tavian Barnes | |
Flags enums should be plural. | |||
2020-08-13 | Implement -xattrname | Tavian Barnes | |
From macOS find. | |||
2020-07-29 | bftw: Make some flag names more explicit | Tavian Barnes | |
2020-07-29 | bftw: Rename bftw_typeflag to bftw_type, and make it not a bitmask | Tavian Barnes | |
2020-06-16 | Implement exponential deepening search | Tavian Barnes | |
2020-06-07 | parse: Color the optimization level differently in dump_cmdline() | Tavian Barnes | |
2020-06-07 | opt: Dump the command line before optimizing with -D opt | Tavian Barnes | |
2020-06-07 | parse: Prohibit actions inside -exclude | Tavian Barnes | |
2020-06-07 | Treat -nohidden like -exclude -hidden | Tavian Barnes | |
Fixes #30. | |||
2020-06-07 | Implement -exclude, a special form for convenient exclusions | Tavian Barnes | |
Fixes #8. | |||
2020-06-02 | diag: Unify debug printing | Tavian Barnes | |
2020-05-22 | opt: Track data flow information about predicates | Tavian Barnes | |
This allows us to optimize things like -sparse -o -not -sparse <==> -true and -sparse -a -not -sparse <==> -false | |||
2020-04-22 | pwcache: Rename from passwd.[ch] | Tavian Barnes | |
2020-03-21 | parse: Use the right color when suggesting typo fixes | Tavian Barnes | |
2020-03-21 | parse: Add -X and -s to -D tree output | Tavian Barnes | |
2020-03-21 | Implement -s flag from FreeBSD find to sort results | Tavian Barnes | |
2020-03-20 | parse: Fix color code with -D tree -xdev | Tavian Barnes | |
2020-03-20 | parse: Prettify some errors and warnings | Tavian Barnes | |
2020-03-20 | parse: Prettify some of the option-specific help | Tavian Barnes | |
2020-03-15 | parse: Don't warn if POSIXLY_CORRECT is set | Tavian Barnes | |
2020-03-15 | diag: Make the -warn flag part of the cmdline | Tavian Barnes | |
2020-02-29 | passwd: Cache the user/group tables | Tavian Barnes | |
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' | |||
2020-02-29 | parse: Give -ls and -fls an ephemeral FD for getpwuid()/getgrgid() | Tavian Barnes | |
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. | |||
2020-02-25 | parse: Don't return success for invalid parse_int() calls with -DNDEBUG | Tavian Barnes | |
2020-02-13 | time: Split out time-related functions from util | Tavian Barnes | |
2020-02-13 | parse: Handle 1969-12-31T23:59:59Z | Tavian Barnes | |
mktime() returns -1 on error, but also for one second before the epoch. Compare the input against localtime(-1) to distinguish those cases. | |||
2020-02-12 | Implement -{a,B,c,m,}since | Tavian Barnes | |
2020-02-12 | parse: Set tm_isdst to -1 | Tavian Barnes | |
This is required by POSIX to ensure the mktime() determines itself whether DST is in effect. | |||
2020-02-12 | parse: Work around missing `timezone` on FreeBSD | Tavian Barnes | |
FreeBSD has a function timezone() that conflicts with the global variable, despite that being specified by POSIX. Use tm_gmtoff instead. | |||
2020-02-11 | Implement explicit reference times (-newerXt) | Tavian Barnes | |
2020-01-22 | parse: Add a missing NULL check for trie_insert_mem() | Tavian Barnes | |
2019-09-14 | Update documentation for the -mount/-xdev revert | Tavian Barnes | |
2019-09-11 | parse: Don't treat -mount differently from -xdev yet | Tavian Barnes | |
The new POSIX version with -mount isn't out yet, so there's no point in conforming to a non-existent document while breaking compatibility with GNU find, which hasn't changed yet either. But a warning is added for the future incompatibility. This patch can be reverted to re-enable the feature. | |||
2019-08-29 | darray: New dynamic array library | Tavian Barnes | |