Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | opt: Warn about expressions we remove while optimizing | Tavian Barnes | 2022-03-26 | 3 | -28/+115 | |
| | ||||||
* | parse: Stop warning for options after tests/actions | Tavian Barnes | 2022-03-26 | 1 | -44/+7 | |
| | | | | | | | | | | | Part of the bfs design philosophy is to care less about the order of arguments. As such, there's no good reason to be warning-compatible with GNU find in this case. I don't even think things like this are confusing: bfs -print -color so why warn about it? | |||||
* | expr: Store auxilliary data in a union | Tavian Barnes | 2022-03-25 | 9 | -777/+815 | |
| | | | | And rename struct expr to bfs_expr. | |||||
* | Update from C99 to C11 | Tavian Barnes | 2022-03-25 | 2 | -2/+2 | |
| | | | | This is necessary for standard anonymous structs/unions. | |||||
* | printf: Switch from a linked list to an array | Tavian Barnes | 2022-03-25 | 1 | -129/+123 | |
| | ||||||
* | main: Fix comment alignment | Tavian Barnes | 2022-03-25 | 1 | -2/+2 | |
| | ||||||
* | tests: Use bfs_diff in more cases | Tavian Barnes | 2022-03-15 | 2 | -22/+5 | |
| | ||||||
* | tests: Shell style fixes | Tavian Barnes | 2022-03-14 | 2 | -58/+57 | |
| | | | | We now support `./tests.sh --bfs="path/with\ spaces/bfs"` | |||||
* | exec: Check for errors when printing the -ok prompt | Tavian Barnes | 2022-03-13 | 1 | -2/+6 | |
| | ||||||
* | exec: Don't flush if the user says no to -ok | Tavian Barnes | 2022-03-13 | 1 | -3/+3 | |
| | ||||||
* | ctx: Factor out exec flushing behaviour into bfs_ctx_flush() | Tavian Barnes | 2022-03-13 | 3 | -14/+27 | |
| | ||||||
* | tests: Use -print0 instead of -printf '%p ' for exec flush tests | Tavian Barnes | 2022-03-13 | 3 | -4/+4 | |
| | ||||||
* | tests: Use plain sort, not bfs_sort | Tavian Barnes | 2022-03-13 | 113 | -548/+533 | |
| | | | | | bfs_sort existed to keep the test outputs nicely in breadth-first order. Unfortunately the implementation using awk didn't support NUL bytes. | |||||
* | tests: Use skip_if for more tests | Tavian Barnes | 2022-03-13 | 1 | -15/+11 | |
| | ||||||
* | Rename the include guards for the recently renamed headers | Tavian Barnes | 2022-03-13 | 4 | -12/+12 | |
| | ||||||
* | Don't shadow standard headers | Tavian Barnes | 2022-03-12 | 15 | -21/+21 | |
| | | | | | | | | | | | | | @italic on the AUR stated that bfs from the AUR fails to build on Manjaro. From the build log, it seems like <time.h> doesn't get included properly. I assume it's picking up ./time.h instead. I couldn't reproduce the build issue in the default configuration, but it does fail with EXTRA_CFLAGS="-I." which isn't good. So rename everything with an x prefix to stop clashing. Link: https://aur.archlinux.org/packages/bfs#comment-856102 Link: https://paste.rs/eqR | |||||
* | CONTRIBUTING: Add a contribution guide | Tavian Barnes | 2022-03-11 | 1 | -0/+167 | |
| | ||||||
* | README: Clarify some dependencies | Tavian Barnes | 2022-03-11 | 1 | -5/+5 | |
| | ||||||
* | Makefile: Disable onig-config for the 32-bit distcheck build | Tavian Barnes | 2022-03-11 | 1 | -2/+2 | |
| | | | | | | | | | | | onig-config can redundantly add -L/usr/lib to LDLIBS, which results in a few warnings like /usr/bin/ld: skipping incompatible /usr/lib/libonig.so when searching for -lonig While I'm at it, explicitly restrict the -m32 build to Linux, since it doesn't work on FreeBSD and was only skipped because uname -m is amd64, not x86_64. | |||||
* | Makefile: Enable time64 | Tavian Barnes | 2022-03-11 | 1 | -0/+1 | |
| | ||||||
* | ctx: Don't include std{out,err} in the open file count | Tavian Barnes | 2022-03-09 | 1 | -1/+5 | |
| | ||||||
* | bftw: Fix open FD accounting | Tavian Barnes | 2022-03-09 | 1 | -3/+2 | |
| | | | | | Due to the introduction of bfs_dir, we don't need to reserve an extra file descriptor for the currently open directory. | |||||
* | bftw: Keep root paths at the head of the LRU list | Tavian Barnes | 2022-03-09 | 1 | -4/+25 | |
| | | | | | With a low ulimit -n, this brings performance back in line with the old heap based implementation. | |||||
* | Revert "darray: New DARRAY_POP() macro" | Tavian Barnes | 2022-03-09 | 2 | -32/+0 | |
| | | | | This reverts commit 6ac4deb451ccd4ed11fb0d022b83710b5b0522fe. | |||||
* | bftw: Bring back the LRU list | Tavian Barnes | 2022-03-09 | 1 | -158/+78 | |
| | ||||||
* | Makefile: Add lsan and tsan flag targets | Tavian Barnes | 2022-03-09 | 1 | -1/+13 | |
| | ||||||
* | Merge pull request #84 from chapmanjacobd/patch-1 | Tavian Barnes | 2022-03-07 | 1 | -0/+3 | |
|\ | | | | | docs: readme: add fedora deps | |||||
| * | add fedora deps | Jacob Chapman | 2022-03-08 | 1 | -0/+3 | |
|/ | ||||||
* | README: Fix typo | Tavian Barnes | 2022-03-01 | 1 | -1/+1 | |
| | ||||||
* | Makefile: Make separate variables for Oniguruma flags | Tavian Barnes | 2022-02-28 | 1 | -3/+6 | |
| | | | | | | This allows customizing the necessary flags if onig-config isn't available or is undesirable (e.g. when linking against a non-system build of libonig). | |||||
* | parse: Check for globs with unescaped trailing backslashes | Tavian Barnes | 2022-02-28 | 2 | -5/+23 | |
| | | | | | | | | | | Both macOS and musl fail to fail on an unescaped backslash, so check for it ourselves. Link: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fnmatch.html Link: https://github.com/void-linux/void-packages/pull/35836 Link: https://www.openwall.com/lists/musl/2022/02/25/2 Link: https://www.austingroupbugs.net/view.php?id=806 | |||||
* | Release 2.4.12.4.1 | Tavian Barnes | 2022-02-24 | 3 | -2/+16 | |
| | ||||||
* | README: Fix CI status badges | Tavian Barnes | 2022-02-24 | 2 | -4/+2 | |
| | ||||||
* | regex: Rework error handling | Tavian Barnes | 2022-02-24 | 5 | -91/+102 | |
| | ||||||
* | regex: Use the encoding from the current locale | Tavian Barnes | 2022-02-24 | 3 | -10/+94 | |
| | ||||||
* | regex: Test if the string is valid before matching | Tavian Barnes | 2022-02-24 | 1 | -0/+8 | |
| | ||||||
* | ci: Unify multiple workflows into one with separate jobs | Tavian Barnes | 2022-02-24 | 4 | -89/+87 | |
| | ||||||
* | ci/freebsd: Fix missing trailing single quote | Tavian Barnes | 2022-02-24 | 1 | -1/+1 | |
| | ||||||
* | Makefile: Automatically discover the right flags to build with Oniguruma | Tavian Barnes | 2022-02-24 | 2 | -5/+12 | |
| | | | | Fixes #82. | |||||
* | regex: Always set REG_STARTEND if available | Tavian Barnes | 2022-02-23 | 1 | -5/+3 | |
| | ||||||
* | regex: Use onig_match() to implement BFS_REGEX_ANCHOR | Tavian Barnes | 2022-02-23 | 1 | -10/+8 | |
| | ||||||
* | Release 2.42.4 | Tavian Barnes | 2022-02-22 | 3 | -2/+21 | |
| | ||||||
* | README: Reformat with details blocks to make it more easily skimmable | Tavian Barnes | 2022-02-22 | 1 | -30/+111 | |
| | | | | | And add some extra information about bfs-specific features, and installing dependencies. | |||||
* | Use EXTRA_CFLAGS instead of CFLAGS in make distcheck | Tavian Barnes | 2022-02-21 | 1 | -1/+1 | |
| | ||||||
* | Enable Oniguruma by default | Tavian Barnes | 2022-02-21 | 4 | -7/+15 | |
| | ||||||
* | regex: Use the real Oniguruma API, not the POSIX wrapper | Tavian Barnes | 2022-02-21 | 1 | -11/+84 | |
| | | | | | | | Not every Oniguruma installation enables the POSIX wrapper, so we need our own wrapper for portability. As well, older versions of Oniguruma have symbol clashes with libc for the POSIX regex API, so using it can be unsafe. | |||||
* | regex: Wrap the POSIX API in a facade | Tavian Barnes | 2022-02-21 | 7 | -63/+152 | |
| | ||||||
* | tests: Mark -fprint/-exec flushing test bfs-specific | Tavian Barnes | 2022-02-18 | 1 | -2/+3 | |
| | | | | GNU find doesn't do it, so no reason to require it for compatibility. | |||||
* | exec: Flush I/O streams before executing anything | Tavian Barnes | 2022-02-11 | 5 | -1/+67 | |
| | | | | | | Otherwise output from commands may appear unexpectedly earlier than output from bfs. We use fflush(NULL) to flush all streams, which is more than GNU find does, but seems to be a useful extension. | |||||
* | ctx: Also check ferror(stdout) | Tavian Barnes | 2022-02-11 | 1 | -15/+27 | |
| | | | | | | Previously this was checked for all other files, but for stdout we just checked the return value of fflush(). Checking ferror() makes sure we don't miss any errors that occurred on a previous flush. |