Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | README: Fix the CI badge | Tavian Barnes | 2022-12-15 | 1 | -1/+1 | |
| | | | | Link: https://github.com/badges/shields/issues/8671 | |||||
* | tests: Fix crash when stderr is redirected | Tavian Barnes | 2022-12-14 | 1 | -1/+7 | |
| | | | | | | | | | | | | | bash uses fileno(stderr) to keep track of $COLUMNS. With stderr redirected, $COLUMNS will be unset, leading to $ ./tests/tests.sh 2> >(cat) ./tests/tests.sh: line 635: COLUMNS: unbound variable Fix it by using $(tput cols) if $COLUMNS is unset, which is almost POSIX. Link: https://www.austingroupbugs.net/view.php?id=1053 | |||||
* | tests/posix/readdir_error: Fix flakiness | Tavian Barnes | 2022-12-14 | 1 | -7/+23 | |
| | ||||||
* | 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 | |
| |