summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* parse: Remove some unnecessary saving/restoring of errnoTavian Barnes2024-06-051-14/+0
|
* Replace some switch-case lookups with arraysTavian Barnes2024-06-053-83/+45
|
* tests: Improve color case insensitivity coverageTavian Barnes2024-06-052-6/+6
|
* tests: New inaccessible/ directory tree for permission errorsTavian Barnes2024-06-049-38/+18
|
* tests: Add directories with different permissions to perms/Tavian Barnes2024-06-0420-80/+103
|
* tests/common: Add tests for -[am]{min,time}Tavian Barnes2024-06-048-0/+84
|
* xtime: Add support for @epochseconds timestampsTavian Barnes2024-06-043-25/+30
|
* bfstd: New xstrtoll() wrapperTavian Barnes2024-06-043-15/+48
|
* Merge branch 'revert-eloop'Tavian Barnes2024-06-038-4/+25
|\
| * Make ELOOP an error again, except for -xtype.3.3.1Tavian Barnes2024-06-038-4/+25
| | | | | | | | | | | | | | | | | | | | POSIX requires an error if (for example) -L encounters a symlink loop. The GNU find change was restricted to -xtype, so add a manual ELOOP test to eval_xtype() for compatibility. This reverts commit 470589cbd9ca3e73d8c01ac3a96cbc065179dcc5. Link: https://savannah.gnu.org/bugs/?19605
* | eval: Fix -D stat printed return valueTavian Barnes2024-06-031-1/+1
| |
* | parse: Allow -Darg/-Sarg as well as -D arg / -S argTavian Barnes2024-06-037-12/+79
| |
* | parse: Handle multiple flags at once like -LEXO2Tavian Barnes2024-06-0312-26/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The POSIX Utility Syntax Guidelines specify that flag groups like -HL should be handled like -H -L. GNU find doesn't support grouping flags in this way, but BSD find does. To avoid conflicts with non-flag primaries, for now we require at least one flag in a group to be a capital letter. That is, we support things like -Lds but not -ds. We also do not support -fPATH (without a space) as it would conflict with -follow, -fprint, etc. It is impossible to be compatible with both GNU and BSD find here: user@gnu$ find -follow link link/file ... user@bsd$ find -follow find: ollow: No such file or directory Link: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
* | sighook: Check that atomic size_t is lock-freeTavian Barnes2024-06-031-0/+4
| |
* | list: New SLIST_SPLICE() macroTavian Barnes2024-05-316-5/+123
| |
* | trie: Don't pass a bitfield directly to has_single_bit()Tavian Barnes2024-05-301-1/+1
| |
* | bit: Use <stdbit.h> if it exists, even without -std=c23Tavian Barnes2024-05-292-3/+7
| | | | | | | | glibc added an implementation in 2.39.
* | bit: Update to match C23Tavian Barnes2024-05-292-69/+63
|/ | | | | | | | | | Based on the latest C23 draft (N3220): - Argument types to generic bit functions should be unsigned - Bit functions return unsigned int - Byte-swapping functions (stdc_memreverse8*()) weren't added - stdc_rotate_{left,right}() weren't added - first_leading_*() counts from the *left*
* Release 3.33.3Tavian Barnes2024-05-282-1/+33
|
* Implement the remaining regex typesTavian Barnes2024-05-2815-6/+98
| | | | Closes: https://github.com/tavianator/bfs/issues/21
* tests: Add some more weird namesTavian Barnes2024-05-289-0/+67
|
* xregex: Support non-capturing groups with -regextype emacsTavian Barnes2024-05-272-2/+8
| | | | | Link: https://savannah.gnu.org/bugs/index.php?65770 Link: https://github.com/kkos/oniguruma/issues/296
* man: Document -perm [+/]MODETavian Barnes2024-05-271-1/+1
|
* man: Document -flagsTavian Barnes2024-05-271-0/+4
|
* eval: Don't turn on NOKERNINFOTavian Barnes2024-05-271-95/+8
| | | | | Other utilities on FreeBSD like dd, sleep, etc. that respond to SIGINFO still print the kernel info line too.
* eval: Use a flag instead of a counter for SIGINFOTavian Barnes2024-05-271-16/+13
|
* docs/RELATED: Link to Heirloom findTavian Barnes2024-05-271-2/+3
|
* bfstd: Treat ELOOP like ENOENTTavian Barnes2024-05-276-3/+25
| | | | | | | GNU findutils just made the same change, so looping symlinks will be considered broken rather than a hard error. Link: https://savannah.gnu.org/bugs/?51926
* eval: Print more information on filesystem loopsTavian Barnes2024-05-273-3/+17
|
* tests/posix: Add a test for -prune with EACCESSTavian Barnes2024-05-272-0/+9
| | | | Link: https://savannah.gnu.org/bugs/?60207
* eval: Show/hide the bar on SIGINFO/SIGUSR1Tavian Barnes2024-05-251-1/+125
|
* bfstd: New helper for open(ctermid())Tavian Barnes2024-05-253-8/+21
|
* sighook: Allow sigunhook(NULL)Tavian Barnes2024-05-252-3/+5
|
* tests: Make diff listen to $NO_COLORTavian Barnes2024-05-241-2/+2
|
* configure: Color the checkmarksTavian Barnes2024-05-241-2/+12
|
* build/deps: Fix _CPPFLAGS variable nameTavian Barnes2024-05-241-1/+1
|
* configure: Use --with/--without for librariesTavian Barnes2024-05-2416-81/+128
|
* configure: Support more standard autoconf optionsTavian Barnes2024-05-241-2/+12
|
* opt: Don't raise RLIMIT_NOFILE if it would prevent using posix_spawn()Tavian Barnes2024-05-234-0/+22
| | | | | | | | | | If we raise RLIMIT_NOFILE, we have to lower it before calling exec() for compatibility with select(). If posix_spawn() doesn't support that, we fall back to fork(), which is quite a bit slower. Therefore, if we're going to exec() on most files, it's better to keep RLIMIT_NOFILE the same to avoid the fork() cost, even though it makes bftw() somewhat slower.
* opt: true is true with probability 1, not 0Tavian Barnes2024-05-231-1/+1
|
* opt: Implement a general estimate_odds() functionTavian Barnes2024-05-231-9/+17
|
* expr: New for_expr macroTavian Barnes2024-05-236-14/+20
|
* tests: Make hide_bar actually hide the barTavian Barnes2024-05-222-1/+15
|
* tests: Print progress outside the scroll regionTavian Barnes2024-05-223-44/+132
|
* tests: Restart wait when interrupted by a signalTavian Barnes2024-05-221-6/+15
|
* build: Simplify flags.mkTavian Barnes2024-05-211-64/+43
|
* build: Fix ubsan CFLAGS typoTavian Barnes2024-05-211-1/+1
|
* build: Allow flags.mk to override command line variablesTavian Barnes2024-05-214-31/+31
| | | | | | | | Previously, during something like ./configure LDFLAGS=..., any additions to LDFLAGS from the generated makefiles were ignored. I had thought that sub-make invocations would allow those variables to be overridden, but that is not the behaviour of make. So instead, set _LDFLAGS etc. in the generated files so that they don't conflict.
* prelude: Remove max_align_t polyfillTavian Barnes2024-05-203-24/+0
| | | | | | This has been fixed in Cosmopolitan. Link: https://github.com/jart/cosmopolitan/issues/944
* trie: Add some more target_clones wrappersTavian Barnes2024-05-201-2/+12
|