Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | sanity: Don't use self-init for uninit() | Tavian Barnes | 2024-02-12 | 1 | -4/+4 |
| | | | | | | | | | | | 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' | ||||
* | ctx: Fill in ctx->threads earlier | Tavian Barnes | 2024-02-06 | 1 | -4/+2 |
| | |||||
* | expr: Make expressions variadic | Tavian Barnes | 2024-01-07 | 1 | -48/+25 |
| | | | | | | | | | Rather than only unary/binary expressions, we now support an arbitrary number of children. The optimizer has been re-written almost completely and now supports optimal reordering of longer expression chains, rather than just arm-swapping. Fixes #85. | ||||
* | expr: Arena-allocate expressions | Tavian Barnes | 2023-12-20 | 1 | -208/+132 |
| | |||||
* | parse: s/parser_state/bfs_parser/ | Tavian Barnes | 2023-12-20 | 1 | -476/+476 |
| | |||||
* | expr: Move some implementation into expr.c | Tavian Barnes | 2023-12-20 | 1 | -45/+0 |
| | |||||
* | config: s/attr_format/attr_printf/ | Tavian Barnes | 2023-12-18 | 1 | -7/+7 |
| | |||||
* | config: New variadic attr(...) macro | Tavian Barnes | 2023-12-18 | 1 | -7/+7 |
| | |||||
* | parse: Reject integers that start with whitespace | Tavian Barnes | 2023-12-09 | 1 | -1/+5 |
| | |||||
* | ctx: Switch paths from darray to RESERVE() | Tavian Barnes | 2023-11-23 | 1 | -10/+10 |
| | |||||
* | config: s/BFS_FORMATTER/attr_format/ | Tavian Barnes | 2023-11-09 | 1 | -7/+7 |
| | |||||
* | parse: Reject -{exec,ok}dir if $PATH contains a relative path | Tavian Barnes | 2023-11-07 | 1 | -0/+26 |
| | | | | This matches the behaviour of GNU find. | ||||
* | Treat NO_COLOR="" the same as unset | Tavian Barnes | 2023-11-06 | 1 | -1/+2 |
| | | | | | | | | | | | | | | The docs say > Command-line software which adds ANSI color to its output by default > should check for a NO_COLOR environment variable that, when present > and not an empty string (regardless of its value), prevents the > addition of ANSI color. but we were not checking for the empty string. Link: https://no-color.org/ Link: https://github.com/sharkdp/fd/pull/1421 | ||||
* | bfstd: New xwaitpid() wrapper | Tavian Barnes | 2023-10-31 | 1 | -1/+1 |
| | |||||
* | parse: Set BFTW_WHITEOUTS when parsing -type w | Tavian Barnes | 2023-10-17 | 1 | -0/+3 |
| | |||||
* | bfstd: Add a thread-safe wrapper for strerror() | Tavian Barnes | 2023-10-05 | 1 | -2/+2 |
| | |||||
* | Formatting fixes | Tavian Barnes | 2023-09-27 | 1 | -23/+22 |
| | |||||
* | parse: Give more ephemeral_fds to -no{user,group} | Tavian Barnes | 2023-09-12 | 1 | -7/+9 |
| | | | | | | | | Fewer than 3 can lead to Assertion failed: (retval->write_queue != -1), function __open_cached_connection, file /usr/src/lib/libc/net/nscachedcli.c, line 224. on a FreeBSD system with LDAP accounts. | ||||
* | Work around https://github.com/llvm/llvm-project/issues/64946 | Tavian Barnes | 2023-08-23 | 1 | -0/+3 |
| | |||||
* | parse: Allow -files0-from an empty set of paths | Tavian Barnes | 2023-08-14 | 1 | -10/+3 |
| | | | | This follows a behaviour change in GNU findutils 4.9.0. | ||||
* | parse: Reject -j0 | Tavian Barnes | 2023-07-12 | 1 | -1/+9 |
| | |||||
* | Use strcmp() instead of fnmatch() if possible | Tavian Barnes | 2023-07-06 | 1 | -5/+12 |
| | |||||
* | parse: Warn about errors parsing $LS_COLORS | Tavian Barnes | 2023-06-29 | 1 | -1/+5 |
| | |||||
* | Unify macro naming conventions | Tavian Barnes | 2023-06-24 | 1 | -2/+2 |
| | | | | | In particular, macros that decide whether to use a particular API/ dependency should be spelled BFS_USE_*, and should be configurable. | ||||
* | alloc: New header for memory allocation utilities | Tavian Barnes | 2023-06-20 | 1 | -25/+3 |
| | |||||
* | bfstd: New xmemdup() function | Tavian Barnes | 2023-06-20 | 1 | -5/+2 |
| | |||||
* | parse: Shell-escape arguments in diagnostics | Tavian Barnes | 2023-06-16 | 1 | -6/+6 |
| | |||||
* | parse: Don't default to depth-first when argv[0] is "find" | Tavian Barnes | 2023-06-14 | 1 | -6/+0 |
| | |||||
* | bftw: Use an I/O queue to open directories | Tavian Barnes | 2023-06-13 | 1 | -1/+25 |
| | | | | Parallelism is controlled by the new -j flag. | ||||
* | sanity: Add wrappers for sanitizer interfaces | Tavian Barnes | 2023-05-25 | 1 | -0/+1 |
| | |||||
* | Switch from assert() to bfs_assert()/bfs_verify() | Tavian Barnes | 2023-05-18 | 1 | -4/+3 |
| | |||||
* | Use bfs_bug("...") over assert(!"...") | Tavian Barnes | 2023-05-18 | 1 | -2/+2 |
| | |||||
* | config: Provide <stdalign.h> and <stdbool.h> | Tavian Barnes | 2023-05-11 | 1 | -1/+0 |
| | | | | In anticipation of C23, since those headers won't be necessary any more. | ||||
* | config: s/BFS_FALLTHROUGH/fallthru/ | Tavian Barnes | 2023-05-10 | 1 | -9/+9 |
| | |||||
* | config: s/BFS_UNINIT/uninit/ | Tavian Barnes | 2023-05-10 | 1 | -4/+4 |
| | |||||
* | config: Hoist the assignment outside of BFS_UNINIT() | Tavian Barnes | 2023-05-08 | 1 | -4/+4 |
| | |||||
* | Replace license boilerplate with SPDX tags | Tavian Barnes | 2023-01-25 | 1 | -15/+2 |
| | | | | | | | And while I'm at it, remove years from copyright declarations. Link: https://spdx.dev/about/ Link: https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/ | ||||
* | opt: Move probabilities out of the parser | Tavian Barnes | 2023-01-24 | 1 | -120/+29 |
| | |||||
* | opt: Move costs out of the parser | Tavian Barnes | 2023-01-24 | 1 | -51/+3 |
| | |||||
* | opt: Move always_{true,false} out of the parser | Tavian Barnes | 2023-01-24 | 1 | -50/+6 |
| | |||||
* | opt: Move purity out of the parser | Tavian Barnes | 2023-01-24 | 1 | -25/+2 |
| | |||||
* | bfstd: New wrappers for dirname()/basename() | Tavian Barnes | 2023-01-19 | 1 | -2/+4 |
| | |||||
* | parse: Mark another variable with BFS_UNINIT() | Tavian Barnes | 2022-12-09 | 1 | -1/+1 |
| | |||||
* | config: New BFS_UNINIT() macro for intentionally uninitialized variables | Tavian Barnes | 2022-12-09 | 1 | -3/+3 |
| | |||||
* | expr: Rename bfs_expr_has_children() to _is_parent() | Tavian Barnes | 2022-12-05 | 1 | -6/+6 |
| | |||||
* | parse: Fix crash on -xdev -mount | Tavian Barnes | 2022-11-30 | 1 | -1/+1 |
| | |||||
* | parse: Pass the right argument when warning about -O9 | Tavian Barnes | 2022-11-30 | 1 | -1/+1 |
| | |||||
* | expr: Remove the singleton bfs_{true,false} expressions | Tavian Barnes | 2022-11-30 | 1 | -138/+168 |
| | |||||
* | expr: Remove the synthetic flag | Tavian Barnes | 2022-11-29 | 1 | -9/+0 |
| | | | | | Only diagnostics cares about this, and we can just check if the pointers are equal. | ||||
* | Dump expression trees in a multi-line format | Tavian Barnes | 2022-11-29 | 1 | -50/+71 |
| |