Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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. | |||||
* | tests: Use skip_if for tests that need /dev/full | Tavian Barnes | 2022-02-11 | 1 | -22/+14 | |
| | ||||||
* | tests: Add a test that -exit suppresses the implicit -print | Tavian Barnes | 2022-02-10 | 2 | -0/+5 | |
| | ||||||
* | Makefile: Allow extra flags to be passed with EXTRA_*FLAGS variables | Tavian Barnes | 2022-02-09 | 1 | -4/+4 | |
| | ||||||
* | tests: Skip case insensitive tests if FNM_CASEFOLD is missing | Tavian Barnes | 2022-02-08 | 1 | -0/+5 | |
| | ||||||
* | tests: Separate skipped tests from passing tests | Tavian Barnes | 2022-02-08 | 1 | -34/+39 | |
| | ||||||
* | tests: Disable some glob tests on macOS | Tavian Barnes | 2022-02-04 | 1 | -0/+10 | |
| | | | | | macOS seems to have a non-compliant fnmatch() that doesn't treat invalid character class expressions literally. | |||||
* | regex: Add support for emacs and grep types | Tavian Barnes | 2022-02-04 | 11 | -31/+151 | |
| | ||||||
* | tests: Add tests for syntactically invalid globs | Tavian Barnes | 2022-02-02 | 13 | -0/+46 | |
| | ||||||
* | tests: New tests for -i?wholename | Tavian Barnes | 2022-02-01 | 3 | -0/+26 | |
| | ||||||
* | tests: New test for ** in a glob | Tavian Barnes | 2022-02-01 | 2 | -0/+9 | |
| | ||||||
* | tests: New test for -prune on a non-directory | Tavian Barnes | 2022-02-01 | 2 | -0/+15 | |
| | ||||||
* | tests: Try to color diff output | Tavian Barnes | 2022-02-01 | 1 | -11/+18 | |
| | ||||||
* | tests: set -P for the whole script | Tavian Barnes | 2022-02-01 | 1 | -2/+1 | |
| | | | | We rely on physical path resolution in test_execdir_pwd. | |||||
* | tests: Allow tests.sh to be invoked from any directory | Tavian Barnes | 2022-02-01 | 2 | -14/+22 | |
| | | | | | This also resolves the path passed to --bfs early, so --bfs=./bfs now works. | |||||
* | parse: Add support for ed and sed regexes | Tavian Barnes | 2022-01-30 | 4 | -1/+20 | |
| | | | | They're apparently the same as POSIX basic regexes. | |||||
* | Revert "tests: Add a test for posix-basic alternation" | Tavian Barnes | 2022-01-29 | 2 | -7/+0 | |
| | | | | | | | Turns out alternation is not actually part of the POSIX basic regular expression language, it's just a glibc extension. This reverts commit c898af13a671ee92a056467d324f16823594eb1c. | |||||
* | tests: Add a test for posix-basic alternation | Tavian Barnes | 2022-01-29 | 2 | -0/+7 | |
| | ||||||
* | Standardize WITH_* make variables for configuring dependencies | Tavian Barnes | 2022-01-29 | 7 | -32/+54 | |
| | ||||||
* | Merge pull request #81 from data-man:oniguruma_1 | Tavian Barnes | 2022-01-29 | 7 | -6/+37 | |
|\ | ||||||
| * | Apply suggestions from code review | data-man | 2022-01-24 | 2 | -12/+8 | |
| | | ||||||
| * | Simplifying | data-man | 2022-01-24 | 6 | -31/+31 | |
| | | ||||||
| * | Using Oniguruma library (optionally) | data-man | 2022-01-24 | 6 | -5/+40 | |
|/ | ||||||
* | Release 2.3.12.3.1 | Tavian Barnes | 2022-01-21 | 3 | -2/+16 | |
| | ||||||
* | bftw: Use a dynamic array for the cache | Tavian Barnes | 2022-01-18 | 1 | -45/+42 | |
| | | | | | | | Since commit 69a5227 ("eval: Raise RLIMIT_NOFILE if possible"), bfs can pass a large nopenfd (e.g. 512K) to bftw() by default. This resulted in a large up-front allocation even for small trees. Change it to grow on demand, lowering the footprint for small searches. | |||||
* | darray: New DARRAY_POP() macro | Tavian Barnes | 2022-01-18 | 2 | -2/+34 | |
| | ||||||
* | dstring: Set a minimum capacity to avoid reallocating for small strings | Tavian Barnes | 2022-01-18 | 1 | -1/+6 | |
| | ||||||
* | tests: Add missing license headers | Tavian Barnes | 2022-01-18 | 2 | -0/+32 | |
| | ||||||
* | tests/trie: Fix "handling" typo | Tavian Barnes | 2022-01-18 | 1 | -1/+1 | |
| | ||||||
* | util: New close() wrappers to check for EBADF and preserve errno | Tavian Barnes | 2022-01-18 | 9 | -53/+66 | |
| | ||||||
* | dir: Fix extra close() if fdopendir() fails | Tavian Barnes | 2022-01-18 | 1 | -2/+4 | |
| | ||||||
* | Add some missing (void)'s | Tavian Barnes | 2022-01-18 | 2 | -2/+2 | |
| | ||||||
* | ci/macos: Switch back to macos-latest | Tavian Barnes | 2021-12-19 | 2 | -24/+34 | |
| | ||||||
* | ci/macos: Downgrade to macOS 10.15 | Tavian Barnes | 2021-12-10 | 1 | -1/+2 | |
| | | | | | | | macOS 11 comes with a broken touch(1) that ignores -h. Work around it for now by downgrading macOS. Link: https://apple.stackexchange.com/a/425730/397839 | |||||
* | tests: Set TZ to a real timezone | Tavian Barnes | 2021-12-10 | 1 | -1/+1 | |
| | | | | | | | POSIX states that the offset is not optional in the TZ environment variable. Link: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html | |||||
* | stat: Work around GNU Hurd bug | Tavian Barnes | 2021-12-10 | 1 | -1/+2 | |
| | | | | | | | fstatat(fd, "", buf, AT_EMPTY_PATH) fails with a nonsense errno on Hurd. Since fstat() itself works fine, just use that. Link: https://lists.gnu.org/archive/html/bug-hurd/2021-12/msg00001.html | |||||
* | eval: Check that RLIM_SAVED_{CUR,MAX} are defined before using them | Tavian Barnes | 2021-12-05 | 1 | -3/+24 | |
| | | | | | Apparently they're missing on Debian kfreebsd: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=kfreebsd-amd64&ver=2.3-1&stamp=1638379495&raw=0 | |||||
* | ci/freebsd: Don't pin an old tailscale version2.3 | Tavian Barnes | 2021-11-25 | 1 | -1/+0 | |
| | ||||||
* | Release 2.3 | Tavian Barnes | 2021-11-25 | 4 | -3/+25 | |
| |