Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | tests: Add a test for readdir() errors | Tavian Barnes | 2022-12-13 | 1 | -0/+21 |
| | |||||
* | parse: Mark another variable with BFS_UNINIT() | Tavian Barnes | 2022-12-09 | 1 | -1/+1 |
| | |||||
* | config: New BFS_UNINIT() macro for intentionally uninitialized variables | Tavian Barnes | 2022-12-09 | 2 | -3/+12 |
| | |||||
* | ci/codeql: Rename the build step | Tavian Barnes | 2022-12-09 | 1 | -1/+1 |
| | |||||
* | Turn on more aggressive format string warnings | Tavian Barnes | 2022-12-09 | 4 | -30/+65 |
| | |||||
* | Add BFS_FORMATTER() to vprintf()-type functions too | Tavian Barnes | 2022-12-08 | 4 | -0/+8 |
| | |||||
* | opt: Pass a va_list to bfs_vwarning(), not bfs_warning() | Tavian Barnes | 2022-12-08 | 1 | -1/+1 |
| | | | | Luckily none of the callers actually pass any arguments. | ||||
* | Merge pull request #98 from lgtm-migrator/codeql | Tavian Barnes | 2022-12-08 | 1 | -0/+55 |
|\ | | | | | Add CodeQL workflow for GitHub code scanning | ||||
| * | Add CodeQL workflow for GitHub code scanning | LGTM Migrator | 2022-12-08 | 1 | -0/+55 |
|/ | |||||
* | trie: Use static_assert() instead of #error | Tavian Barnes | 2022-12-07 | 1 | -3/+1 |
| | |||||
* | config: New BFS_COUNTOF macro | Tavian Barnes | 2022-12-07 | 3 | -3/+8 |
| | |||||
* | expr: Rename bfs_expr_has_children() to _is_parent() | Tavian Barnes | 2022-12-05 | 6 | -14/+14 |
| | |||||
* | tests: Allow wildcard patterns like "posix/*" | Tavian Barnes | 2022-12-02 | 1 | -48/+31 |
| | |||||
* | parse: Fix crash on -xdev -mount | Tavian Barnes | 2022-11-30 | 3 | -1/+22 |
| | |||||
* | parse: Pass the right argument when warning about -O9 | Tavian Barnes | 2022-11-30 | 3 | -1/+23 |
| | |||||
* | 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 |
| | |||||
* | tests: Avoid syslog() using a low fd on macOS | Tavian Barnes | 2022-11-20 | 1 | -5/+16 |
| | |||||
* | 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. | ||||
* | README: Add acl dependency to Fedora | Tavian Barnes | 2022-11-16 | 1 | -1/+1 |
| | |||||
* | README: Use `console` syntax highlighting more | Tavian Barnes | 2022-11-16 | 1 | -22/+33 |
| | |||||
* | Use BFS_COMMAND over "bfs" in more places | Tavian Barnes | 2022-11-13 | 1 | -5/+8 |
| | |||||
* | distcheck: Add ubsan to msan build | Tavian Barnes | 2022-11-11 | 1 | -1/+1 |
| | |||||
* | exec: Fix index overflow parsing -exec + | Tavian Barnes | 2022-11-11 | 3 | -1/+5 |
| | |||||
* | typo: Array bounds are exclusive, not inclusive | Tavian Barnes | 2022-11-10 | 2 | -1/+2 |
| | |||||
* | 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 | 4 | -4/+27 |
| | | | | | | | | | | | 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. | ||||
* | docs: Update some example outputs | Tavian Barnes | 2022-11-10 | 1 | -2/+0 |
| | |||||
* | 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 | 10 | -366/+237 |
| | | | | | | | 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 |
| | |||||
* | ci/codecov: Use a token | Tavian Barnes | 2022-11-08 | 1 | -2/+3 |
| | | | | Workaround for https://github.com/codecov/codecov-action/issues/837 | ||||
* | tests/xtouch: Add some missing POSIX touch features | Tavian Barnes | 2022-11-08 | 5 | -59/+114 |
| | |||||
* | tests/xtouch: New utility | Tavian Barnes | 2022-11-07 | 23 | -90/+263 |
| | | | | | | POSIX touch(1) doesn't include the -h option, and indeed OpenBSD doesn't implement it. Making our own utility also lets us add some handy extensions like -p (create parents) and -M (set permissions). | ||||
* | 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 | 20 | -402/+419 |
| | |||||
* | 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 | 9 | -51/+84 |
| | | | | | | | | | 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. | ||||
* | tests: Skip fstype tests if the mtab isn't available | Tavian Barnes | 2022-11-06 | 2 | -1/+8 |
| | |||||
* | 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. | ||||
* | README: Add back empty paragraph for spacing | Tavian Barnes | 2022-11-05 | 1 | -0/+1 |
| |