summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* bftw: Use list.h for the queue and LRU listsTavian Barnes2023-03-291-218/+93
|
* list: New generic linked list APITavian Barnes2023-03-293-0/+350
|
* bftw: Refactor bftw_queueTavian Barnes2023-03-281-88/+55
|
* dir: s/d_fileno/d_ino/Tavian Barnes2023-03-271-1/+1
|
* dir: Explicitly align struct bfs_dir for the trailing dirent bufferTavian Barnes2023-03-271-1/+3
|
* dir: Use getdents() on FreeBSD tooTavian Barnes2023-03-271-30/+39
|
* dir: Use libc's getdents64() wrapper if possibleTavian Barnes2023-03-271-109/+76
|
* Release 2.6.32.6.3Tavian Barnes2023-01-311-1/+1
|
* mtab: Explicitly initialize parent_retTavian Barnes2023-01-311-1/+1
|
* Replace license boilerplate with SPDX tagsTavian Barnes2023-01-2549-736/+98
| | | | | | | 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/
* mtab: Flags are separated with | not ,Tavian Barnes2023-01-251-1/+1
|
* mtab: Keep parent dirs open during fill_types()Tavian Barnes2023-01-253-27/+65
|
* mtab: Always fill in the root fstypeTavian Barnes2023-01-251-1/+1
| | | | Fixes: 869e4010433c8610ba59f9a6a310df8be228d718
* opt: Move probabilities out of the parserTavian Barnes2023-01-242-120/+161
|
* opt: Move costs out of the parserTavian Barnes2023-01-242-51/+57
|
* opt: Move always_{true,false} out of the parserTavian Barnes2023-01-242-50/+61
|
* opt: Move purity out of the parserTavian Barnes2023-01-242-25/+64
|
* opt: Use a table for simple range comparisonsTavian Barnes2023-01-241-14/+24
|
* opt: Use a table for simple predicatesTavian Barnes2023-01-241-17/+27
|
* opt: Use a table to look up optimizer functionsTavian Barnes2023-01-241-44/+71
|
* mtab: Mitigate the race between bfs_mtab_parse() and bfs_mtab_fill_types()Tavian Barnes2023-01-221-2/+35
| | | | Fixes #97.
* bfstd: Add O_SEARCH/O_EXEC fallbacksTavian Barnes2023-01-221-0/+16
|
* bfstd: New wrappers for dirname()/basename()Tavian Barnes2023-01-199-27/+84
|
* parse: Mark another variable with BFS_UNINIT()Tavian Barnes2022-12-091-1/+1
|
* config: New BFS_UNINIT() macro for intentionally uninitialized variablesTavian Barnes2022-12-092-3/+12
|
* Turn on more aggressive format string warningsTavian Barnes2022-12-093-28/+62
|
* Add BFS_FORMATTER() to vprintf()-type functions tooTavian Barnes2022-12-084-0/+8
|
* opt: Pass a va_list to bfs_vwarning(), not bfs_warning()Tavian Barnes2022-12-081-1/+1
| | | | Luckily none of the callers actually pass any arguments.
* trie: Use static_assert() instead of #errorTavian Barnes2022-12-071-3/+1
|
* config: New BFS_COUNTOF macroTavian Barnes2022-12-072-2/+6
|
* expr: Rename bfs_expr_has_children() to _is_parent()Tavian Barnes2022-12-056-14/+14
|
* 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-304-174/+209
|
* expr: Remove the synthetic flagTavian Barnes2022-11-294-22/+8
| | | | | 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
|
* config: Support target_clones on more platformsTavian Barnes2022-11-212-1/+8
|
* expr: Don't use reftime for -lsTavian Barnes2022-11-174-9/+12
| | | | | reftime is part of a different union than the print actions are supposed to use.
* trie: Limit target_clones to glibcTavian Barnes2022-11-161-5/+5
| | | | Musl doesn't support ifuncs.
* Use BFS_COMMAND over "bfs" in more placesTavian Barnes2022-11-131-5/+8
|
* exec: Fix index overflow parsing -exec +Tavian Barnes2022-11-111-1/+1
|
* typo: Array bounds are exclusive, not inclusiveTavian Barnes2022-11-101-1/+1
|
* xregex: Fix build without OnigurumaTavian Barnes2022-11-101-0/+1
|
* Try to report I/O errors earlier and only onceTavian Barnes2022-11-104-10/+50
|
* Revert "exec: Don't flush if the user says no to -ok"Tavian Barnes2022-11-101-3/+3
| | | | | | | | | | | From the bfs_ctx_flush() implementation: // Before executing anything, flush all open streams. This ensures that // - the user sees everything relevant before an -ok[dir] prompt But that only works if we call it before the prompt. This reverts commit 21344dfb72f9b65b366ca5f754f1bc35f52da3c7.
* parse: Squelch an uninitialized variable warningTavian Barnes2022-11-091-1/+1
|
* trie: Check __has_attribute(target_clones) before using itTavian Barnes2022-11-091-1/+1
|
* ctx: Flush the user/group caches when executing commandsTavian Barnes2022-11-093-24/+43
| | | | | | This fixes (admittedly uncommon) commands like $ bfs -nouser -exec add-missing-user.sh {} \;
* pwcache: Fill the user/group caches lazilyTavian Barnes2022-11-098-364/+226
| | | | | | | 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.
* eval: Add missing flag to -D statTavian Barnes2022-11-081-0/+1
|