summaryrefslogtreecommitdiffstats
path: root/src/parse.c
Commit message (Collapse)AuthorAgeFilesLines
* Treat NO_COLOR="" the same as unsetTavian Barnes2023-11-061-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() wrapperTavian Barnes2023-10-311-1/+1
|
* parse: Set BFTW_WHITEOUTS when parsing -type wTavian Barnes2023-10-171-0/+3
|
* bfstd: Add a thread-safe wrapper for strerror()Tavian Barnes2023-10-051-2/+2
|
* Formatting fixesTavian Barnes2023-09-271-23/+22
|
* parse: Give more ephemeral_fds to -no{user,group}Tavian Barnes2023-09-121-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/64946Tavian Barnes2023-08-231-0/+3
|
* parse: Allow -files0-from an empty set of pathsTavian Barnes2023-08-141-10/+3
| | | | This follows a behaviour change in GNU findutils 4.9.0.
* parse: Reject -j0Tavian Barnes2023-07-121-1/+9
|
* Use strcmp() instead of fnmatch() if possibleTavian Barnes2023-07-061-5/+12
|
* parse: Warn about errors parsing $LS_COLORSTavian Barnes2023-06-291-1/+5
|
* Unify macro naming conventionsTavian Barnes2023-06-241-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 utilitiesTavian Barnes2023-06-201-25/+3
|
* bfstd: New xmemdup() functionTavian Barnes2023-06-201-5/+2
|
* parse: Shell-escape arguments in diagnosticsTavian Barnes2023-06-161-6/+6
|
* parse: Don't default to depth-first when argv[0] is "find"Tavian Barnes2023-06-141-6/+0
|
* bftw: Use an I/O queue to open directoriesTavian Barnes2023-06-131-1/+25
| | | | Parallelism is controlled by the new -j flag.
* sanity: Add wrappers for sanitizer interfacesTavian Barnes2023-05-251-0/+1
|
* Switch from assert() to bfs_assert()/bfs_verify()Tavian Barnes2023-05-181-4/+3
|
* Use bfs_bug("...") over assert(!"...")Tavian Barnes2023-05-181-2/+2
|
* config: Provide <stdalign.h> and <stdbool.h>Tavian Barnes2023-05-111-1/+0
| | | | In anticipation of C23, since those headers won't be necessary any more.
* config: s/BFS_FALLTHROUGH/fallthru/Tavian Barnes2023-05-101-9/+9
|
* config: s/BFS_UNINIT/uninit/Tavian Barnes2023-05-101-4/+4
|
* config: Hoist the assignment outside of BFS_UNINIT()Tavian Barnes2023-05-081-4/+4
|
* Replace license boilerplate with SPDX tagsTavian Barnes2023-01-251-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 parserTavian Barnes2023-01-241-120/+29
|
* opt: Move costs out of the parserTavian Barnes2023-01-241-51/+3
|
* opt: Move always_{true,false} out of the parserTavian Barnes2023-01-241-50/+6
|
* opt: Move purity out of the parserTavian Barnes2023-01-241-25/+2
|
* bfstd: New wrappers for dirname()/basename()Tavian Barnes2023-01-191-2/+4
|
* parse: Mark another variable with BFS_UNINIT()Tavian Barnes2022-12-091-1/+1
|
* config: New BFS_UNINIT() macro for intentionally uninitialized variablesTavian Barnes2022-12-091-3/+3
|
* expr: Rename bfs_expr_has_children() to _is_parent()Tavian Barnes2022-12-051-6/+6
|
* parse: Fix crash on -xdev -mountTavian Barnes2022-11-301-1/+1
|
* parse: Pass the right argument when warning about -O9Tavian Barnes2022-11-301-1/+1
|
* expr: Remove the singleton bfs_{true,false} expressionsTavian Barnes2022-11-301-138/+168
|
* expr: Remove the synthetic flagTavian Barnes2022-11-291-9/+0
| | | | | Only diagnostics cares about this, and we can just check if the pointers are equal.
* Dump expression trees in a multi-line formatTavian Barnes2022-11-291-50/+71
|
* expr: Don't use reftime for -lsTavian Barnes2022-11-171-8/+2
| | | | | reftime is part of a different union than the print actions are supposed to use.
* Use BFS_COMMAND over "bfs" in more placesTavian Barnes2022-11-131-5/+8
|
* Try to report I/O errors earlier and only onceTavian Barnes2022-11-101-0/+2
|
* parse: Squelch an uninitialized variable warningTavian Barnes2022-11-091-1/+1
|
* pwcache: Fill the user/group caches lazilyTavian Barnes2022-11-091-42/+26
| | | | | | | 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.
* xtime: Move parse_gettime() to xgettime()Tavian Barnes2022-11-071-24/+2
|
* xtime: s/parse_timestamp/xgetdate/Tavian Barnes2022-11-071-1/+1
|
* bfstd: Rename from util and reorganize itTavian Barnes2022-11-061-1/+1
|
* config: Split out some of util.h into a new headerTavian Barnes2022-11-061-2/+2
|
* parse: Don't free uninitialized data on error pathsTavian Barnes2022-10-191-0/+13
|
* parse: They're called "primary expressions," not "literals"Tavian Barnes2022-07-051-6/+6
|
* parse: Warn on paths found within -excludeTavian Barnes2022-05-131-0/+5
|