Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | parse: Don't leave expr->mode_cmp uninitialized | Tavian Barnes | 2018-06-18 | 1 | -1/+1 | |
| | | | | | | | | | When adding support for -perm +7777, I introduced an unconditional break that should have been conditional. The bug was observable with $ ./tests.sh --verbose --bfs="valgrind $PWD/bfs" test_perm_leading_plus_symbolic Fixes: 7f8bacca4c2b1d35bb65ddf8cbf70fadf1adf66e | |||||
* | printf: Add %w and %Wk for file birth times | Tavian Barnes | 2018-01-20 | 1 | -1/+6 | |
| | | | | | %w and %W were chosen to match the format specifiers for file birth times from stat(1) | |||||
* | stat: New wrapper around the stat() family | Tavian Barnes | 2018-01-08 | 1 | -64/+45 | |
| | | | | | This lets bfs transparently support the new statx() system call on Linux, giving it access to file birth times. | |||||
* | parse: Minor cleanups from af7878c/7da0d28 | Tavian Barnes | 2018-01-06 | 1 | -6/+2 | |
| | ||||||
* | Keep track of required FDs per-expr | Tavian Barnes | 2017-12-15 | 1 | -11/+14 | |
| | ||||||
* | color: Implement %m for cfprintf() | Tavian Barnes | 2017-11-13 | 1 | -6/+6 | |
| | ||||||
* | exec: Recover from E2BIG | Tavian Barnes | 2017-11-12 | 1 | -2/+6 | |
| | ||||||
* | cmdline: Account for files opened during/between evaluations more carefully | Tavian Barnes | 2017-11-12 | 1 | -7/+21 | |
| | ||||||
* | Add support for file birth/creation times on platforms that have it | Tavian Barnes | 2017-11-05 | 1 | -34/+71 | |
| | | | | Fixes #19 | |||||
* | parse: Support -perm +7777, for compatibility with BSD and old GNU find | Tavian Barnes | 2017-11-05 | 1 | -0/+6 | |
| | ||||||
* | parse: Keep track of what files are already open | Tavian Barnes | 2017-10-21 | 1 | -40/+99 | |
| | | | | Fixes #22 | |||||
* | Report errors that occur when closing files | Tavian Barnes | 2017-10-21 | 1 | -7/+30 | |
| | | | | Otherwise we miss write errors that occur when flushing the cache. | |||||
* | Add a man page | Tavian Barnes | 2017-10-15 | 1 | -15/+22 | |
| | | | | Fixes #31 | |||||
* | parse: Document the bfs meaning of -O in -help | Tavian Barnes | 2017-09-17 | 1 | -2/+15 | |
| | ||||||
* | opt: Separate optimization from parsing | Tavian Barnes | 2017-09-16 | 1 | -328/+19 | |
| | ||||||
* | parse: Don't reorder or remove tests with potential side effects | Tavian Barnes | 2017-09-06 | 1 | -3/+21 | |
| | | | | | | -empty and -xtype may have side effects like reporting permission errors, which even affect the exit status of bfs. We shouldn't remove these effects without -Ofast. | |||||
* | parse: Factor out common initialization code for -print and friends | Tavian Barnes | 2017-09-06 | 1 | -35/+30 | |
| | ||||||
* | Implement -D search | Tavian Barnes | 2017-09-02 | 1 | -0/+3 | |
| | ||||||
* | Implement cost-based optimization | Tavian Barnes | 2017-08-27 | 1 | -43/+210 | |
| | ||||||
* | Avoid multiple extra stat()s of broken symlinks for -xtype | Tavian Barnes | 2017-08-22 | 1 | -1/+1 | |
| | ||||||
* | Unify broken symlink handling | Tavian Barnes | 2017-08-12 | 1 | -1/+1 | |
| | | | | | | | | | Rather than open-code the fallback logic for broken symlinks everywhere it's needed, introduce a new xfstatat() utility function that performs the fallback automatically. Using xfstatat() consistently fixes a few bugs, including cases where broken symlinks are given as arguments to predicates like -samefile. | |||||
* | parse: Don't allow negative optimization levels | Tavian Barnes | 2017-08-10 | 1 | -1/+1 | |
| | ||||||
* | Re-license under the BSD Zero Clause License | Tavian Barnes | 2017-07-27 | 1 | -10/+15 | |
| | ||||||
* | Represent never returning as always_true && always_false | Tavian Barnes | 2017-07-21 | 1 | -29/+31 | |
| | | | | | | | | | | Expressions that never return are vacuously always both true and false. Using this representation lets us take advantage of existing truth-based optimizations, which gets us optimizations of command lines like bfs -name foo -quit -print for free. | |||||
* | Fix a couple terrible optimizer bugs | Tavian Barnes | 2017-07-21 | 1 | -2/+2 | |
| | | | | | | | Just because an expression is always true or false, doesn't mean we can execute it more often than it otherwise would be, unless it's also pure. But that's equivalent to being identically -true/-false, so just check that. | |||||
* | Implement -printx | Tavian Barnes | 2017-07-21 | 1 | -0/+16 | |
| | | | | Also from NetBSD. | |||||
* | Implement -exit [STATUS] | Tavian Barnes | 2017-07-20 | 1 | -0/+23 | |
| | | | | From NetBSD again. | |||||
* | Implement -rm as an alias for -delete | Tavian Barnes | 2017-07-20 | 1 | -0/+4 | |
| | | | | From NetBSD. | |||||
* | parse: Ask for confirmation in some cases | Tavian Barnes | 2017-07-16 | 1 | -108/+154 | |
| | ||||||
* | parse: Warn if -depth and -prune are used together | Tavian Barnes | 2017-07-09 | 1 | -0/+19 | |
| | ||||||
* | -perm: Handle permcopy (e.g. u=rw,g=u) correctly | Tavian Barnes | 2017-06-15 | 1 | -5/+16 | |
| | ||||||
* | parse: Make some error messages red | Tavian Barnes | 2017-06-03 | 1 | -2/+4 | |
| | ||||||
* | parse: Set always_true for some actions that never return false | Tavian Barnes | 2017-05-17 | 1 | -3/+25 | |
| | ||||||
* | Add colors to -D tree | Tavian Barnes | 2017-05-15 | 1 | -37/+44 | |
| | ||||||
* | Optimize based on reachability due to -quit | Tavian Barnes | 2017-05-15 | 1 | -43/+83 | |
| | ||||||
* | Don't make -quit disable the implicit -print | Tavian Barnes | 2017-05-11 | 1 | -1/+1 | |
| | ||||||
* | Implement -D exec | Tavian Barnes | 2017-05-09 | 1 | -1/+6 | |
| | ||||||
* | Don't parse the mount table until it's needed | Tavian Barnes | 2017-04-29 | 1 | -8/+7 | |
| | ||||||
* | Release 1.01.0 | Tavian Barnes | 2017-04-24 | 1 | -1/+1 | |
| | ||||||
* | Implement -fstype | Tavian Barnes | 2017-04-23 | 1 | -2/+28 | |
| | | | | Fixes #6! | |||||
* | Make -help output prettier and more complete | Tavian Barnes | 2017-04-16 | 1 | -37/+207 | |
| | ||||||
* | Implement -X | Tavian Barnes | 2017-04-16 | 1 | -0/+10 | |
| | ||||||
* | Implement -exec/-execdir ... + | Tavian Barnes | 2017-04-15 | 1 | -22/+13 | |
| | ||||||
* | Respect -nocolor for -fprint /dev/stdout | Tavian Barnes | 2017-03-16 | 1 | -2/+16 | |
| | ||||||
* | Give struct expr a CFILE* instead of just a FILE* | Tavian Barnes | 2017-03-16 | 1 | -11/+18 | |
| | | | | This unifies the behaviour of -print and -fprint /dev/stdout. | |||||
* | Implement -ls and -fls | Tavian Barnes | 2017-03-11 | 1 | -11/+50 | |
| | ||||||
* | Make a printf()-style API for colored messages | Tavian Barnes | 2017-03-11 | 1 | -104/+81 | |
| | ||||||
* | Allow short-circuiting optimizations with non-pure operands | Tavian Barnes | 2017-02-11 | 1 | -14/+38 | |
| | ||||||
* | parse: Factor out all "looks like icmp" checks | Tavian Barnes | 2017-02-09 | 1 | -11/+16 | |
| | ||||||
* | Add support for -x?type with multiple types | Tavian Barnes | 2017-02-08 | 1 | -34/+59 | |
| | | | | This functionality is already part of GNU findutils git. |