summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* tests: Skip fstype tests if the mtab isn't availableTavian Barnes2022-11-062-1/+8
|
* 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.
* README: Add back empty paragraph for spacingTavian Barnes2022-11-051-0/+1
|
* README: Work around Content-Security-Policy issues with the animationTavian Barnes2022-11-041-4/+3
| | | | Workaround for https://github.com/github/markup/issues/1601.
* codecov: Fix conflicts between src/*.c and tests/*.cTavian Barnes2022-11-031-1/+1
|
* 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-295-45/+91
|
* trie: New is_power_of_two() helperTavian Barnes2022-10-291-5/+10
|
* trie: Convert ASCII art to Unicode artTavian Barnes2022-10-291-31/+49
|
* README: Use a different screencast for the light themeTavian Barnes2022-10-261-1/+6
|
* README: Simplify comparison tableTavian Barnes2022-10-251-4/+1
|
* tests: Fix privilege dropping when run as rootTavian Barnes2022-10-211-1/+1
| | | | Fixes: 412102712921e2b051da1d2ae9171d67a2a4bd61
* Release 2.6.22.6.2Tavian Barnes2022-10-213-2/+16
|
* README: Add a <thead> to work around horizontal overflow on FirefoxTavian Barnes2022-10-211-0/+3
|
* tests/gnu/inum_automount: Work around systemd-mount raceTavian Barnes2022-10-212-6/+6
| | | | | | | | | | | | This test used systemd-mount to set up an automount on scratch/mnt. If a previous test mounted something there, systemd will notice that asynchronously and may not have noticed the unmount by the time that test runs. This led to the test randomly being skipped sometimes when systemd-mount failed. It could be reproduced with a loop like this: $ for _ in {1..10}; ./tests/tests.sh common/L_mount gnu/inum_automount Work around it by using scratch/automnt instead to avoid conflicts.
* tests: Always clean scratch before using itTavian Barnes2022-10-204-0/+4
|
* tests: Add a helper for cleaning scratchTavian Barnes2022-10-2027-38/+50
| | | | And try to unmount things if the a test left them mounted.
* parse: Don't free uninitialized data on error pathsTavian Barnes2022-10-191-0/+13
|
* tests: Coverage number go upTavian Barnes2022-10-1922-2/+101
|
* README: Break inline lists before bulletsTavian Barnes2022-10-191-12/+16
|
* tests: Split test cases into separate filesTavian Barnes2022-10-19773-2877/+931
|
* README: Add bullets to inline listsTavian Barnes2022-10-181-10/+10
|
* util: Use ENOTSUP instead of ENOSYS for stubbed xconfstr()Tavian Barnes2022-10-181-1/+1
|
* README: Move the spacing <p></p> out of the <summary>Tavian Barnes2022-10-181-7/+7
|
* 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.