Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use "error:" prefix consistently | Tavian Barnes | 2017-10-22 | 1 | -4/+4 |
| | |||||
* | cmdline: Declare functions in a more natural order | Tavian Barnes | 2017-10-21 | 1 | -7/+7 |
| | |||||
* | parse: Keep track of what files are already open | Tavian Barnes | 2017-10-21 | 6 | -50/+185 |
| | | | | Fixes #22 | ||||
* | Report errors that occur when closing files | Tavian Barnes | 2017-10-21 | 6 | -11/+60 |
| | | | | Otherwise we miss write errors that occur when flushing the cache. | ||||
* | Add a man page | Tavian Barnes | 2017-10-15 | 3 | -15/+686 |
| | | | | Fixes #31 | ||||
* | Don't use install -D | Tavian Barnes | 2017-10-13 | 1 | -3/+6 |
| | | | | | | -D isn't portable to non-GNU Unices, so just use mkdir manually. Fixes #28 | ||||
* | Release 1.1.31.1.3 | Tavian Barnes | 2017-10-04 | 3 | -2/+11 |
| | |||||
* | tests: -quit is not POSIX | Tavian Barnes | 2017-09-20 | 1 | -1/+1 |
| | |||||
* | util: Wrap faccessat() to fix some portability issues | Tavian Barnes | 2017-09-20 | 4 | -2/+21 |
| | |||||
* | opt: More -O4 tweaks | Tavian Barnes | 2017-09-17 | 1 | -24/+15 |
| | |||||
* | opt: Use the standard LLONG_MAX instead of the nonstandard LONG_LONG_MAX | Tavian Barnes | 2017-09-17 | 1 | -1/+1 |
| | |||||
* | opt: Fix -depth with arguments bigger than INT_MAX | Tavian Barnes | 2017-09-17 | 3 | -4/+32 |
| | |||||
* | opt: Move some aggressive optimizations back to -O4 | Tavian Barnes | 2017-09-17 | 2 | -18/+19 |
| | |||||
* | parse: Document the bfs meaning of -O in -help | Tavian Barnes | 2017-09-17 | 1 | -2/+15 |
| | |||||
* | opt: Have data flow analysis respect always_{true,false} | Tavian Barnes | 2017-09-17 | 1 | -6/+21 |
| | |||||
* | tests: Add tests that trigger some optimizations | Tavian Barnes | 2017-09-16 | 9 | -0/+87 |
| | |||||
* | opt: Implement some data flow optimizations | Tavian Barnes | 2017-09-16 | 1 | -108/+322 |
| | |||||
* | opt: Separate optimization from parsing | Tavian Barnes | 2017-09-16 | 11 | -665/+859 |
| | |||||
* | Release 1.1.21.1.2 | Tavian Barnes | 2017-09-10 | 3 | -2/+14 |
| | |||||
* | eval: Make sure nopenfd >= 2 for bftw() | Tavian Barnes | 2017-09-09 | 1 | -6/+5 |
| | |||||
* | tests: Silence error messages while creating deep/ | Tavian Barnes | 2017-09-09 | 1 | -1/+1 |
| | | | | | Some platforms will print errors like "cannot access parent directories: Result too large" | ||||
* | Try /proc/self/fd before /dev/fd | Tavian Barnes | 2017-09-09 | 2 | -5/+14 |
| | | | | On Solaris, /proc/self/fd is dynamic while /dev/fd is static. | ||||
* | mtab: Add support for Solaris | Tavian Barnes | 2017-09-09 | 1 | -0/+43 |
| | |||||
* | Revert "tests: Test hardlinks to symlinks" | Tavian Barnes | 2017-09-07 | 13 | -20/+0 |
| | | | | | | Apparently macOS doesn't support ln -P. This reverts commit 80eec18020f531abbdb2abbb919ab6c6fa34107c. | ||||
* | parse: Don't reorder or remove tests with potential side effects | Tavian Barnes | 2017-09-06 | 3 | -3/+29 |
| | | | | | | -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. | ||||
* | util: Factor out checks for nonexistent paths/broken links | Tavian Barnes | 2017-09-06 | 3 | -3/+12 |
| | |||||
* | parse: Factor out common initialization code for -print and friends | Tavian Barnes | 2017-09-06 | 1 | -35/+30 |
| | |||||
* | tests: Test hardlinks to symlinks | Tavian Barnes | 2017-09-06 | 13 | -0/+20 |
| | |||||
* | tests: Make test_deep pass with other find implementations | Tavian Barnes | 2017-09-04 | 3 | -22/+37 |
| | | | | | And move test_deep_strict to the bfs-specific tests, since it's not likely to ever pass for other implementations. | ||||
* | Implement -D search | Tavian Barnes | 2017-09-02 | 3 | -6/+111 |
| | |||||
* | tests: Use human-readable filenames in links/ | Tavian Barnes | 2017-09-02 | 33 | -142/+128 |
| | |||||
* | mtab: Use __has_include() to check for <mntent.h> | Tavian Barnes | 2017-09-02 | 1 | -4/+15 |
| | | | | | This fixes the build against musl, as long as you have a new enough compiler for __has_include. | ||||
* | Implement cost-based optimization | Tavian Barnes | 2017-08-27 | 5 | -61/+254 |
| | |||||
* | printf: Save some lines in time specifier parsing | Tavian Barnes | 2017-08-27 | 1 | -36/+4 |
| | |||||
* | Avoid multiple extra stat()s of broken symlinks for -xtype | Tavian Barnes | 2017-08-22 | 5 | -13/+18 |
| | |||||
* | tests: Remove unnecessary sort-args.sh invocations | Tavian Barnes | 2017-08-16 | 3 | -40/+40 |
| | |||||
* | tests: Add some syntax highlighting to --verbose | Tavian Barnes | 2017-08-12 | 1 | -3/+22 |
| | |||||
* | Unify broken symlink handling | Tavian Barnes | 2017-08-12 | 11 | -33/+74 |
| | | | | | | | | | 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. | ||||
* | tests: Add a test for -exec ... {} + with a failing command | Tavian Barnes | 2017-08-12 | 2 | -0/+27 |
| | |||||
* | Update README.md | Tavian Barnes | 2017-08-10 | 1 | -4/+16 |
| | |||||
* | bftw: Assert that the queue is empty when freeing it | Tavian Barnes | 2017-08-10 | 1 | -0/+1 |
| | |||||
* | parse: Don't allow negative optimization levels | Tavian Barnes | 2017-08-10 | 1 | -1/+1 |
| | |||||
* | Release 1.1.11.1.1 | Tavian Barnes | 2017-08-10 | 3 | -2/+11 |
| | |||||
* | exec: Fix more corner cases with -ok ... + | Tavian Barnes | 2017-07-29 | 4 | -9/+58 |
| | | | | -ok should look for a ; even if it sees {} +, according to POSIX. | ||||
* | tests.sh: Add a --verbose mode | Tavian Barnes | 2017-07-29 | 1 | -22/+58 |
| | |||||
* | exec: Don't allow anything between {} and + | Tavian Barnes | 2017-07-29 | 7 | -117/+99 |
| | | | | | | | | | POSIX explicitly forbids this extension: > Only a <plus-sign> that immediately follows an argument containing > only the two characters "{}" shall punctuate the end of the primary > expression. Other uses of the <plus-sign> shall not be treated as > special. | ||||
* | util: Define O_DIRECTORY to 0 if it's not already defined | Tavian Barnes | 2017-07-29 | 4 | -15/+7 |
| | |||||
* | Re-license under the BSD Zero Clause License | Tavian Barnes | 2017-07-27 | 23 | -234/+343 |
| | |||||
* | Release 1.11.1 | Tavian Barnes | 2017-07-22 | 3 | -2/+20 |
| | |||||
* | Represent never returning as always_true && always_false | Tavian Barnes | 2017-07-21 | 3 | -34/+42 |
| | | | | | | | | | | 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. |