summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tests: Replace skip_unless test with test || skipTavian Barnes2022-12-1644-78/+67
|
* README: Fix the CI badgeTavian Barnes2022-12-151-1/+1
| | | | Link: https://github.com/badges/shields/issues/8671
* tests: Fix crash when stderr is redirectedTavian Barnes2022-12-141-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 flakinessTavian Barnes2022-12-141-7/+23
|
* tests: Add a test for readdir() errorsTavian Barnes2022-12-131-0/+21
|
* parse: Mark another variable with BFS_UNINIT()Tavian Barnes2022-12-091-1/+1
|
* config: New BFS_UNINIT() macro for intentionally uninitialized variablesTavian Barnes2022-12-092-3/+12
|
* ci/codeql: Rename the build stepTavian Barnes2022-12-091-1/+1
|
* Turn on more aggressive format string warningsTavian Barnes2022-12-094-30/+65
|
* Add BFS_FORMATTER() to vprintf()-type functions tooTavian Barnes2022-12-084-0/+8
|
* opt: Pass a va_list to bfs_vwarning(), not bfs_warning()Tavian Barnes2022-12-081-1/+1
| | | | Luckily none of the callers actually pass any arguments.
* Merge pull request #98 from lgtm-migrator/codeqlTavian Barnes2022-12-081-0/+55
|\ | | | | Add CodeQL workflow for GitHub code scanning
| * Add CodeQL workflow for GitHub code scanningLGTM Migrator2022-12-081-0/+55
|/
* trie: Use static_assert() instead of #errorTavian Barnes2022-12-071-3/+1
|
* config: New BFS_COUNTOF macroTavian Barnes2022-12-073-3/+8
|
* expr: Rename bfs_expr_has_children() to _is_parent()Tavian Barnes2022-12-056-14/+14
|
* tests: Allow wildcard patterns like "posix/*"Tavian Barnes2022-12-021-48/+31
|
* parse: Fix crash on -xdev -mountTavian Barnes2022-11-303-1/+22
|
* parse: Pass the right argument when warning about -O9Tavian Barnes2022-11-303-1/+23
|
* 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
|
* tests: Avoid syslog() using a low fd on macOSTavian Barnes2022-11-201-5/+16
|
* 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.
* README: Add acl dependency to FedoraTavian Barnes2022-11-161-1/+1
|
* README: Use `console` syntax highlighting moreTavian Barnes2022-11-161-22/+33
|
* Use BFS_COMMAND over "bfs" in more placesTavian Barnes2022-11-131-5/+8
|
* distcheck: Add ubsan to msan buildTavian Barnes2022-11-111-1/+1
|
* exec: Fix index overflow parsing -exec +Tavian Barnes2022-11-113-1/+5
|
* typo: Array bounds are exclusive, not inclusiveTavian Barnes2022-11-102-1/+2
|
* 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-104-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 outputsTavian Barnes2022-11-101-2/+0
|
* 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-0910-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 statTavian Barnes2022-11-081-0/+1
|
* ci/codecov: Use a tokenTavian Barnes2022-11-081-2/+3
| | | | Workaround for https://github.com/codecov/codecov-action/issues/837
* tests/xtouch: Add some missing POSIX touch featuresTavian Barnes2022-11-085-59/+114
|
* tests/xtouch: New utilityTavian Barnes2022-11-0723-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 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-0620-402/+419
|
* 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-069-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.