Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | bit: Check __BYTE_ORDER__ for the native endian | Tavian Barnes | 2024-03-21 | 2 | -2/+15 | |
| | | | | __ORDER_NATIVE_ENDIAN__ is not a thing. | |||||
* | bfstd: Check that wcwidth() is positive | Tavian Barnes | 2024-03-20 | 2 | -2/+9 | |
| | | | | | wcwidth() returns -1 for non-printable characters, but terminals typically don't print anything for them, so treat them as 0. | |||||
* | ioq: Fix some allocation failure paths | Tavian Barnes | 2024-03-20 | 1 | -2/+4 | |
| | ||||||
* | Implement -limit N | Tavian Barnes | 2024-03-20 | 15 | -3/+103 | |
| | | | | Closes: https://github.com/tavianator/bfs/issues/133 | |||||
* | ci: Work around https://github.com/actions/runner-images/issues/9491 | Tavian Barnes | 2024-03-19 | 1 | -0/+2 | |
| | | | | | | Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113430 Link: https://github.com/llvm/llvm-project/issues/78354 Link: https://zolutal.github.io/aslrnt/ | |||||
* | config: Don't mix [[attr]] and __attribute__((attr)) | Tavian Barnes | 2024-03-19 | 1 | -6/+2 | |
| | | | | | GCC and Clang don't support combining the two attribute syntaxes in arbitrary order. For now, just use the GNU style. | |||||
* | Re-run include-what-you-use | Tavian Barnes | 2024-03-11 | 28 | -32/+33 | |
| | ||||||
* | tests/xtime: Add tests for integer overflow | Tavian Barnes | 2024-03-10 | 2 | -1/+31 | |
| | ||||||
* | xtime: Call tzset() from main() instead of lazily | Tavian Barnes | 2024-03-07 | 10 | -79/+32 | |
| | | | | | | | | | | | | | POSIX specifies[1] that If a thread accesses tzname, daylight, or timezone directly while another thread is in a call to tzset(), or to any function that is required or allowed to set timezone information as if by calling tzset(), the behavior is undefined. So calling it lazily from arbitrary threads is risky. [1]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/tzset.html | |||||
* | tests: Change the timezone for -daystart tests | Tavian Barnes | 2024-03-07 | 2 | -2/+2 | |
| | | | | | | | Otherwise, if the test files are created just before midnight, and the test runs just after midnight, -daystart will consider them one day old. Fixes #132 | |||||
* | Release 3.1.33.1.3 | Tavian Barnes | 2024-03-06 | 3 | -2/+14 | |
| | ||||||
* | ioq: Copy ring_ops from the previous thread | Tavian Barnes | 2024-03-06 | 1 | -1/+4 | |
| | | | | | | Otherwise threads 2-N won't use io_uring at all! Oops. Fixes: 8bc72d6c ("ioq: Probe for supported io_uring operations") | |||||
* | eval: Tweak status bar punctuation | Tavian Barnes | 2024-03-06 | 1 | -1/+1 | |
| | ||||||
* | tests/ioq: Check that we push and pop the same number of times | Tavian Barnes | 2024-03-02 | 1 | -3/+5 | |
| | ||||||
* | Release 3.1.23.1.2 | Tavian Barnes | 2024-02-29 | 3 | -5/+21 | |
| | ||||||
* | tests: New bfs_check() macro | Tavian Barnes | 2024-02-29 | 6 | -234/+247 | |
| | | | | | We now report failures and continue, rather than aborting after the first failure. | |||||
* | diag: New bfs_diag() macro | Tavian Barnes | 2024-02-29 | 2 | -3/+27 | |
| | ||||||
* | tests: Add more datetime parsing integration tests | Tavian Barnes | 2024-02-29 | 2 | -4/+6 | |
| | ||||||
* | xtime: Fix some xgetdate() bugs | Tavian Barnes | 2024-02-28 | 2 | -18/+117 | |
| | | | | And add some more test cases. | |||||
* | stat: Use errno_is_like(ENOSYS) for EPERM kludge | Tavian Barnes | 2024-02-28 | 2 | -3/+5 | |
| | ||||||
* | tests/ioq: New unit test | Tavian Barnes | 2024-02-28 | 4 | -0/+78 | |
| | ||||||
* | tests/bfs/D_opt: Don't rely on directory link counts | Tavian Barnes | 2024-02-28 | 2 | -12/+1 | |
| | | | | Fixes: https://github.com/tavianator/bfs/issues/131 | |||||
* | ioq: Probe for supported io_uring operations | Tavian Barnes | 2024-02-28 | 1 | -18/+67 | |
| | ||||||
* | ioq: Remove some branches from ioq_slot_{push,pop}() | Tavian Barnes | 2024-02-18 | 1 | -12/+21 | |
| | ||||||
* | tests: Redirect stdin in bfs_pty() | Tavian Barnes | 2024-02-17 | 1 | -1/+1 | |
| | | | | Otherwise bfs will think it's interactive. | |||||
* | ioq: Ensure ioq_ent is sufficiently aligned | Tavian Barnes | 2024-02-16 | 2 | -2/+9 | |
| | | | | | | | The natural alignment of struct ioq_ent is only 2 on m68k, so over-align it to at least 4 bytes on all platforms. Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=m68k&ver=3.1-1&stamp=1707699583 | |||||
* | Release 3.1.13.1.1 | Tavian Barnes | 2024-02-16 | 3 | -2/+14 | |
| | ||||||
* | ioq: Add batched ioqq_push/pop operations | Tavian Barnes | 2024-02-15 | 1 | -49/+127 | |
| | ||||||
* | ioq: Don't push immediately in ioq_check_cancel() | Tavian Barnes | 2024-02-15 | 1 | -10/+6 | |
| | ||||||
* | ioq: Add a missing close() if bfs_opendir() fails | Tavian Barnes | 2024-02-15 | 1 | -0/+2 | |
| | ||||||
* | ioq: Don't use the symbolic IO_WQ_[UN]BOUND indices | Tavian Barnes | 2024-02-14 | 1 | -2/+2 | |
| | | | | They are only available since liburing 2.2, which is newer than CI. | |||||
* | ioq: Factor out io_uring initialization | Tavian Barnes | 2024-02-14 | 1 | -37/+73 | |
| | ||||||
* | ioq: Make -j also limit the io_uring worker threads | Tavian Barnes | 2024-02-14 | 1 | -0/+9 | |
| | ||||||
* | ioq: Replay IOQ_STOP messages rather than spam them | Tavian Barnes | 2024-02-14 | 1 | -4/+5 | |
| | ||||||
* | ioq: Pack ioq_ent args structs | Tavian Barnes | 2024-02-14 | 1 | -3/+3 | |
| | ||||||
* | bftw: Document which bftw_file nodes go with which lists | Tavian Barnes | 2024-02-14 | 1 | -3/+17 | |
| | ||||||
* | expr: Pack struct bfs_expr a bit | Tavian Barnes | 2024-02-14 | 1 | -15/+9 | |
| | ||||||
* | stat: Pack struct bfs_stat a bit | Tavian Barnes | 2024-02-14 | 2 | -28/+24 | |
| | ||||||
* | eval: Add thousands separators to -status | Tavian Barnes | 2024-02-12 | 1 | -2/+2 | |
| | ||||||
* | sanity: Don't use self-init for uninit() | Tavian Barnes | 2024-02-12 | 3 | -7/+7 | |
| | | | | | | | | | | | Self-initialization like bool ret = ret; is a GCC trick to suppress uninitialized variable warnings, but it's not actually well-defined, and will trip a recent enough MemorySanitizer: src/eval.c:1088:13: runtime error: load of value 128, which is not a valid value for type 'bool' | |||||
* | ioq: Get rid of IOQ_STRIDE | Tavian Barnes | 2024-02-12 | 1 | -20/+5 | |
| | | | | Benchmarks show it hurts more than it helps. | |||||
* | ioq: Shrink the io_urings | Tavian Barnes | 2024-02-12 | 1 | -4/+2 | |
| | ||||||
* | bench: Add a stat() benchmark | Tavian Barnes | 2024-02-12 | 1 | -4/+53 | |
| | ||||||
* | Merge pull request #130 from thesamesam/gentoo | Tavian Barnes | 2024-02-07 | 1 | -0/+3 | |
|\ | | | | | README.md: bfs is now in Gentoo as sys-apps/bfs | |||||
| * | README.md: bfs is now in Gentoo as sys-apps/bfs | Sam James | 2024-02-07 | 1 | -0/+3 | |
|/ | ||||||
* | Release 3.13.1 | Tavian Barnes | 2024-02-06 | 3 | -2/+46 | |
| | ||||||
* | opt: Enable BFTW_STAT when profitable | Tavian Barnes | 2024-02-06 | 2 | -0/+93 | |
| | ||||||
* | ctx: Fill in ctx->threads earlier | Tavian Barnes | 2024-02-06 | 3 | -23/+20 | |
| | ||||||
* | color: New API to check if stat() is necessary | Tavian Barnes | 2024-02-06 | 2 | -6/+11 | |
| | ||||||
* | bftw: stat() files asynchronously | Tavian Barnes | 2024-02-06 | 4 | -212/+507 | |
| |