Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | expr: Remove the singleton bfs_{true,false} expressions | Tavian Barnes | 2022-11-30 | 4 | -174/+209 |
| | |||||
* | expr: Remove the synthetic flag | Tavian Barnes | 2022-11-29 | 4 | -22/+8 |
| | | | | | Only diagnostics cares about this, and we can just check if the pointers are equal. | ||||
* | Dump expression trees in a multi-line format | Tavian Barnes | 2022-11-29 | 1 | -50/+71 |
| | |||||
* | config: Support target_clones on more platforms | Tavian Barnes | 2022-11-21 | 2 | -1/+8 |
| | |||||
* | expr: Don't use reftime for -ls | Tavian Barnes | 2022-11-17 | 4 | -9/+12 |
| | | | | | reftime is part of a different union than the print actions are supposed to use. | ||||
* | trie: Limit target_clones to glibc | Tavian Barnes | 2022-11-16 | 1 | -5/+5 |
| | | | | Musl doesn't support ifuncs. | ||||
* | Use BFS_COMMAND over "bfs" in more places | Tavian Barnes | 2022-11-13 | 1 | -5/+8 |
| | |||||
* | exec: Fix index overflow parsing -exec + | Tavian Barnes | 2022-11-11 | 1 | -1/+1 |
| | |||||
* | typo: Array bounds are exclusive, not inclusive | Tavian Barnes | 2022-11-10 | 1 | -1/+1 |
| | |||||
* | xregex: Fix build without Oniguruma | Tavian Barnes | 2022-11-10 | 1 | -0/+1 |
| | |||||
* | Try to report I/O errors earlier and only once | Tavian Barnes | 2022-11-10 | 4 | -10/+50 |
| | |||||
* | Revert "exec: Don't flush if the user says no to -ok" | Tavian Barnes | 2022-11-10 | 1 | -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 warning | Tavian Barnes | 2022-11-09 | 1 | -1/+1 |
| | |||||
* | trie: Check __has_attribute(target_clones) before using it | Tavian Barnes | 2022-11-09 | 1 | -1/+1 |
| | |||||
* | ctx: Flush the user/group caches when executing commands | Tavian Barnes | 2022-11-09 | 3 | -24/+43 |
| | | | | | | This fixes (admittedly uncommon) commands like $ bfs -nouser -exec add-missing-user.sh {} \; | ||||
* | pwcache: Fill the user/group caches lazily | Tavian Barnes | 2022-11-09 | 8 | -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 stat | Tavian Barnes | 2022-11-08 | 1 | -0/+1 |
| | |||||
* | tests/xtouch: Add some missing POSIX touch features | Tavian Barnes | 2022-11-08 | 3 | -8/+10 |
| | |||||
* | xtime: Move parse_gettime() to xgettime() | Tavian Barnes | 2022-11-07 | 3 | -24/+28 |
| | |||||
* | xtime: s/parse_timestamp/xgetdate/ | Tavian Barnes | 2022-11-07 | 3 | -12/+12 |
| | |||||
* | Fix includes | Tavian Barnes | 2022-11-06 | 11 | -9/+10 |
| | |||||
* | bfstd: Rename from util and reorganize it | Tavian Barnes | 2022-11-06 | 19 | -401/+418 |
| | |||||
* | config: Split out some of util.h into a new header | Tavian Barnes | 2022-11-06 | 16 | -188/+205 |
| | |||||
* | util: Get rid of BFS_HAS_INCLUDE() wrapper for __has_include() | Tavian Barnes | 2022-11-06 | 8 | -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 testing | Tavian Barnes | 2022-11-06 | 5 | -27/+19 |
| | |||||
* | xspawn: Use _PATH_DEFPATH if _CS_PATH is not defined | Tavian Barnes | 2022-11-06 | 2 | -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 Barnes | 2022-11-01 | 1 | -11/+19 |
| | |||||
* | trie: Optimize trie_mismatch() with tzcnt | Tavian Barnes | 2022-11-01 | 1 | -13/+40 |
| | |||||
* | trie: Use target_clones() for popcnt | Tavian Barnes | 2022-10-30 | 1 | -6/+28 |
| | |||||
* | trie: Refactor insertion to allocate the leaf in one place | Tavian Barnes | 2022-10-30 | 1 | -49/+48 |
| | |||||
* | trie: Make leaves into a linked list | Tavian Barnes | 2022-10-29 | 4 | -45/+76 |
| | |||||
* | trie: New is_power_of_two() helper | Tavian Barnes | 2022-10-29 | 1 | -5/+10 |
| | |||||
* | trie: Convert ASCII art to Unicode art | Tavian Barnes | 2022-10-29 | 1 | -31/+49 |
| | |||||
* | Release 2.6.22.6.2 | Tavian Barnes | 2022-10-21 | 1 | -1/+1 |
| | |||||
* | parse: Don't free uninitialized data on error paths | Tavian Barnes | 2022-10-19 | 1 | -0/+13 |
| | |||||
* | util: Use ENOTSUP instead of ENOSYS for stubbed xconfstr() | Tavian Barnes | 2022-10-18 | 1 | -1/+1 |
| | |||||
* | stat: Check Android API level for statx() support | Tavian Barnes | 2022-10-18 | 1 | -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 Android | Tavian Barnes | 2022-10-17 | 2 | -3/+10 |
| | |||||
* | color: Add a (void) prototype | Tavian Barnes | 2022-10-17 | 1 | -1/+1 |
| | |||||
* | parse: They're called "primary expressions," not "literals" | Tavian Barnes | 2022-07-05 | 3 | -8/+8 |
| | |||||
* | Release 2.6.12.6.1 | Tavian Barnes | 2022-07-05 | 1 | -1/+1 |
| | |||||
* | stat: Don't pass AT_NO_AUTOMOUNT on GNU Hurd before glibc 2.35 | Tavian Barnes | 2022-05-29 | 2 | -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.6 | Tavian Barnes | 2022-05-21 | 1 | -1/+1 |
| | |||||
* | parse: Warn on paths found within -exclude | Tavian Barnes | 2022-05-13 | 1 | -0/+5 |
| | |||||
* | stat: Pass AT_NO_AUTOMOUNT if possible | Tavian Barnes | 2022-05-12 | 1 | -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 separate | Tavian Barnes | 2022-05-12 | 1 | -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 out | Tavian Barnes | 2022-05-12 | 1 | -30/+25 |
| | |||||
* | stat: Rename some feature detection macros | Tavian Barnes | 2022-05-12 | 1 | -8/+8 |
| | |||||
* | color: Don't colorize capable files by default | Tavian Barnes | 2022-05-11 | 1 | -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 | ||||
* | color: Only check ln=target once | Tavian Barnes | 2022-05-11 | 1 | -7/+7 |
| | | | | Fixes: 7241d6cc35134fcb5ec6dfa81bbd01e430b2415f |