summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* parse: Pass the right argument when warning about -O9Tavian Barnes2022-11-301-1/+1
|
* expr: Remove the singleton bfs_{true,false} expressionsTavian Barnes2022-11-304-174/+209
|
* expr: Remove the synthetic flagTavian Barnes2022-11-294-22/+8
| | | | | Only diagnostics cares about this, and we can just check if the pointers are equal.
* Dump expression trees in a multi-line formatTavian Barnes2022-11-291-50/+71
|
* config: Support target_clones on more platformsTavian Barnes2022-11-212-1/+8
|
* expr: Don't use reftime for -lsTavian Barnes2022-11-174-9/+12
| | | | | reftime is part of a different union than the print actions are supposed to use.
* trie: Limit target_clones to glibcTavian Barnes2022-11-161-5/+5
| | | | Musl doesn't support ifuncs.
* Use BFS_COMMAND over "bfs" in more placesTavian Barnes2022-11-131-5/+8
|
* exec: Fix index overflow parsing -exec +Tavian Barnes2022-11-111-1/+1
|
* typo: Array bounds are exclusive, not inclusiveTavian Barnes2022-11-101-1/+1
|
* xregex: Fix build without OnigurumaTavian Barnes2022-11-101-0/+1
|
* Try to report I/O errors earlier and only onceTavian Barnes2022-11-104-10/+50
|
* Revert "exec: Don't flush if the user says no to -ok"Tavian Barnes2022-11-101-3/+3
| | | | | | | | | | | From the bfs_ctx_flush() implementation: // Before executing anything, flush all open streams. This ensures that // - the user sees everything relevant before an -ok[dir] prompt But that only works if we call it before the prompt. This reverts commit 21344dfb72f9b65b366ca5f754f1bc35f52da3c7.
* parse: Squelch an uninitialized variable warningTavian Barnes2022-11-091-1/+1
|
* trie: Check __has_attribute(target_clones) before using itTavian Barnes2022-11-091-1/+1
|
* ctx: Flush the user/group caches when executing commandsTavian Barnes2022-11-093-24/+43
| | | | | | This fixes (admittedly uncommon) commands like $ bfs -nouser -exec add-missing-user.sh {} \;
* pwcache: Fill the user/group caches lazilyTavian Barnes2022-11-098-364/+226
| | | | | | | Iterating all the users/groups can be expensive, especially with NSS. Android has so many that it doesn't even return them all from get{pw,gr}ent() for performance reasons, leading to incorrect behaviour of -user/-group/etc.
* eval: Add missing flag to -D statTavian Barnes2022-11-081-0/+1
|
* tests/xtouch: Add some missing POSIX touch featuresTavian Barnes2022-11-083-8/+10
|
* xtime: Move parse_gettime() to xgettime()Tavian Barnes2022-11-073-24/+28
|
* xtime: s/parse_timestamp/xgetdate/Tavian Barnes2022-11-073-12/+12
|
* Fix includesTavian Barnes2022-11-0611-9/+10
|
* bfstd: Rename from util and reorganize itTavian Barnes2022-11-0619-401/+418
|
* config: Split out some of util.h into a new headerTavian Barnes2022-11-0616-188/+205
|
* util: Get rid of BFS_HAS_INCLUDE() wrapper for __has_include()Tavian Barnes2022-11-068-48/+81
| | | | | | | | | Since __has_include() needs special preprocessing rules (e.g. not expanding `linux` in `__has_include(<linux/stat.h>)`, macros that expand to __has_include() do not necessarily behave correctly. Instead, we have to directly test `#if __has_include(...)`. See https://bugs.llvm.org/show_bug.cgi?id=37990 for more details.
* util: Use fewer BFS_*() wrappers for feature testingTavian Barnes2022-11-065-27/+19
|
* xspawn: Use _PATH_DEFPATH if _CS_PATH is not definedTavian Barnes2022-11-062-2/+14
| | | | | And set errno correctly if neither one is. Fixes tests/posix/exec_nopath on Android.
* color: Avoid dynamic allocation in get_ext_color()Tavian Barnes2022-11-011-11/+19
|
* trie: Optimize trie_mismatch() with tzcntTavian Barnes2022-11-011-13/+40
|
* trie: Use target_clones() for popcntTavian Barnes2022-10-301-6/+28
|
* trie: Refactor insertion to allocate the leaf in one placeTavian Barnes2022-10-301-49/+48
|
* trie: Make leaves into a linked listTavian Barnes2022-10-294-45/+76
|
* trie: New is_power_of_two() helperTavian Barnes2022-10-291-5/+10
|
* trie: Convert ASCII art to Unicode artTavian Barnes2022-10-291-31/+49
|
* Release 2.6.22.6.2Tavian Barnes2022-10-211-1/+1
|
* parse: Don't free uninitialized data on error pathsTavian Barnes2022-10-191-0/+13
|
* util: Use ENOTSUP instead of ENOSYS for stubbed xconfstr()Tavian Barnes2022-10-181-1/+1
|
* stat: Check Android API level for statx() supportTavian Barnes2022-10-181-1/+1
| | | | | | Bionic's <sys/stat.h> can define STATX_BASIC_STATS without declaring statx() on lower API levels, so explicitly check for the version it was added in.
* util: Stub out confstr() on AndroidTavian Barnes2022-10-172-3/+10
|
* color: Add a (void) prototypeTavian Barnes2022-10-171-1/+1
|
* parse: They're called "primary expressions," not "literals"Tavian Barnes2022-07-053-8/+8
|
* Release 2.6.12.6.1Tavian Barnes2022-07-051-1/+1
|
* stat: Don't pass AT_NO_AUTOMOUNT on GNU Hurd before glibc 2.35Tavian Barnes2022-05-292-1/+7
| | | | | Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=hurd-i386&ver=2.6-1&stamp=1653764526 Link: https://sourceware.org/git/?p=glibc.git;a=commit;h=13710e7e6af6c8965cc9a63a0660cb4ce1966557
* Release 2.62.6Tavian Barnes2022-05-211-1/+1
|
* parse: Warn on paths found within -excludeTavian Barnes2022-05-131-0/+5
|
* stat: Pass AT_NO_AUTOMOUNT if possibleTavian Barnes2022-05-121-0/+4
| | | | | Previously bfs would trigger automounts even when it didn't descend into the mount directory, while GNU find does not.
* stat: Keep statx()-specific flags separateTavian Barnes2022-05-121-8/+9
| | | | | Previously, if statx() was unsupported at runtime, we could end up passing AT_STATX_DONT_SYNC to fstatat() which doesn't expect it.
* stat: Factor the BFS_STAT_TRYFOLLOW retry logic outTavian Barnes2022-05-121-30/+25
|
* stat: Rename some feature detection macrosTavian Barnes2022-05-121-8/+8
|
* color: Don't colorize capable files by defaultTavian Barnes2022-05-111-1/+1
| | | | | | | GNU ls changed this default in coreutils 9.1, since checking capabilities has a severe performance penalty. Link: https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=6b5134770d35b045e5a9219bf4a216324e0113d3