Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | bftw: Only do another level of deepening if there are unexplored directories | Tavian Barnes | 2020-06-12 | 1 | -3/+4 | |
| | | | | This makes -S ids about 20% faster on a checkout of the Linux kernel. | |||||
* | bftw: Make iterative deepening actually do depth-first search | Tavian Barnes | 2020-06-12 | 1 | -15/+21 | |
| | | | | | | | | | bftw_stream() was always pushing to the end of the queue, resulting in breadth-first behaviour even when BFTW_DFS was set. This made iterative deepening a "worst of both worlds" with the same memory use as BFS, but much slower due to re-traversals. Fix it by re-using bftw_batch_{start,finish} from bftw_batch(). | |||||
* | tests/trie: New acceptance test for tries | Tavian Barnes | 2020-06-09 | 3 | -4/+129 | |
| | ||||||
* | tests/xtimegm: Don't test the year 1900 | Tavian Barnes | 2020-06-09 | 1 | -1/+1 | |
| | | | | | | | macOS doesn't support negative time_t's that are larger than 32 bits apparently. C.f.: https://stackoverflow.com/a/46335905 | |||||
* | tests: New acceptance test for xtimegm() | Tavian Barnes | 2020-06-09 | 3 | -3/+101 | |
| | ||||||
* | RELEASES.md: Fix a bad issue link | Tavian Barnes | 2020-06-08 | 1 | -2/+2 | |
| | ||||||
* | RELEASES.md: Use short links for issues consistently | Tavian Barnes | 2020-06-08 | 1 | -4/+11 | |
| | ||||||
* | bfs.1: Add a section on environment variables. | Tavian Barnes | 2020-06-08 | 1 | -0/+51 | |
| | | | | Follow-up for #55. | |||||
* | RELEASES.md: Add explicit hyperlinks for issues | Tavian Barnes | 2020-06-08 | 1 | -2/+5 | |
| | ||||||
* | README.md: Fix extraneous backtick | Tavian Barnes | 2020-06-08 | 1 | -2/+2 | |
| | ||||||
* | RELEASES.md: Add some 2.0 release notes | Tavian Barnes | 2020-06-08 | 2 | -1/+41 | |
| | ||||||
* | LICENSE: Rename from COPYING | Tavian Barnes | 2020-06-08 | 2 | -1/+1 | |
| | ||||||
* | parse: Color the optimization level differently in dump_cmdline() | Tavian Barnes | 2020-06-07 | 1 | -1/+1 | |
| | ||||||
* | opt: Warn when no side effects are reachable | Tavian Barnes | 2020-06-07 | 1 | -4/+4 | |
| | ||||||
* | opt: Dump the command line before optimizing with -D opt | Tavian Barnes | 2020-06-07 | 2 | -2/+4 | |
| | ||||||
* | parse: Prohibit actions inside -exclude | Tavian Barnes | 2020-06-07 | 3 | -1/+28 | |
| | ||||||
* | README: Remove unnecessary single quotes from example | Tavian Barnes | 2020-06-07 | 1 | -1/+1 | |
| | ||||||
* | Treat -nohidden like -exclude -hidden | Tavian Barnes | 2020-06-07 | 6 | -23/+48 | |
| | | | | Fixes #30. | |||||
* | Implement -exclude, a special form for convenient exclusions | Tavian Barnes | 2020-06-07 | 10 | -21/+146 | |
| | | | | Fixes #8. | |||||
* | opt: Make sure facts_when_impure sees *all* impure literals | Tavian Barnes | 2020-06-07 | 2 | -3/+11 | |
| | ||||||
* | diag: Unify debug printing | Tavian Barnes | 2020-06-02 | 10 | -156/+262 | |
| | ||||||
* | opt: Add missing #include <unistd.h> | Tavian Barnes | 2020-05-22 | 1 | -0/+1 | |
| | ||||||
* | opt: Track data flow information about predicates | Tavian Barnes | 2020-05-22 | 7 | -37/+280 | |
| | | | | | | | | | | This allows us to optimize things like -sparse -o -not -sparse <==> -true and -sparse -a -not -sparse <==> -false | |||||
* | Makefile: Pass -fsanitize-memory-track-origins for msan builds | Tavian Barnes | 2020-05-22 | 1 | -1/+1 | |
| | ||||||
* | Merge pull request #59 from rHermes/fix-spelling-in-fsade | Tavian Barnes | 2020-05-22 | 1 | -2/+2 | |
|\ | | | | | Fix spelling mistake in fsade.h | |||||
| * | Fix spelling mistake in fsade.h | rHermes | 2020-05-22 | 1 | -2/+2 | |
|/ | ||||||
* | Release 1.71.7 | Tavian Barnes | 2020-04-22 | 3 | -2/+12 | |
| | ||||||
* | pwcache: Rename from passwd.[ch] | Tavian Barnes | 2020-04-22 | 7 | -9/+9 | |
| | ||||||
* | Makefile: Don't use target-specific variables for configuration targets | Tavian Barnes | 2020-03-24 | 1 | -17/+28 | |
| | | | | | | | | | | | | | | | | | | | In things like release: CFLAGS := ... release: bfs CFLAGS is only set for the dependencies of release, so $ make release check doesn't set CFLAGS for tests/mksock. For the same reason, $ make asan ubsan was broken, because only the asan flags would be set for bfs. Fix it by checking MAKECMDGOALS for those targets manually instead. | |||||
* | Makefile: Add asan, msan, ubsan targets | Tavian Barnes | 2020-03-23 | 1 | -3/+12 | |
| | ||||||
* | Makefile: Use --sudo for every distcheck test | Tavian Barnes | 2020-03-23 | 1 | -11/+10 | |
| | ||||||
* | opt: Avoid dangling pointers in de_morgan() | Tavian Barnes | 2020-03-23 | 1 | -5/+7 | |
| | | | | | | | | If optimize_{and,or}_expr() relocates expr, we need to update the parent expr or else we might return garbage. It seems impossible to actually trigger this bug right now, since the {and,or} optimizations are symmetric, but it could be hit if the simplifications in de_morgan() expose more information than was known previously. | |||||
* | parse: Use the right color when suggesting typo fixes | Tavian Barnes | 2020-03-21 | 1 | -113/+126 | |
| | ||||||
* | parse: Add -X and -s to -D tree output | Tavian Barnes | 2020-03-21 | 1 | -17/+26 | |
| | ||||||
* | Implement -s flag from FreeBSD find to sort results | Tavian Barnes | 2020-03-21 | 9 | -3/+208 | |
| | ||||||
* | bftw: Use a two-star approach to the bftw_queue linked list | Tavian Barnes | 2020-03-20 | 1 | -58/+28 | |
| | ||||||
* | parse: Fix color code with -D tree -xdev | Tavian Barnes | 2020-03-20 | 1 | -1/+1 | |
| | ||||||
* | parse: Prettify some errors and warnings | Tavian Barnes | 2020-03-20 | 2 | -52/+58 | |
| | ||||||
* | parse: Prettify some of the option-specific help | Tavian Barnes | 2020-03-20 | 2 | -42/+38 | |
| | ||||||
* | Merge pull request #57 from tavianator/cirrus | Tavian Barnes | 2020-03-16 | 3 | -1/+17 | |
|\ | | | | | cirrus: Add a Cirrus CI build to test FreeBSD | |||||
| * | cirrus: Add a Cirrus CI build to test FreeBSD | Tavian Barnes | 2020-03-16 | 3 | -1/+17 | |
| | | | | | | | | Fixes #41. | |||||
* | | fsade: Fix default ACL processing. | Tavian Barnes | 2020-03-16 | 1 | -38/+50 | |
| | | | | | | | | | | | | For default ACLs, any entries at all makes them non-trivial. C.f.: https://lists.freebsd.org/pipermail/posix1e/2014-July/000517.html | |||||
* | | parse: Don't warn if POSIXLY_CORRECT is set | Tavian Barnes | 2020-03-15 | 1 | -2/+4 | |
| | | ||||||
* | | exec: Warn if a command dies abnormally | Tavian Barnes | 2020-03-15 | 2 | -9/+6 | |
| | | ||||||
* | | diag: Make the -warn flag part of the cmdline | Tavian Barnes | 2020-03-15 | 3 | -40/+37 | |
|/ | ||||||
* | README: Put the binary package instructions first | Tavian Barnes | 2020-03-02 | 1 | -20/+20 | |
| | ||||||
* | README: Replace the screenshot with an animation | Tavian Barnes | 2020-03-02 | 1 | -3/+3 | |
| | ||||||
* | passwd: Make earlier entries override later ones | Tavian Barnes | 2020-03-02 | 1 | -4/+12 | |
| | ||||||
* | tests: Add a test for -printf %u/%g with a low ulimit | Tavian Barnes | 2020-03-01 | 1 | -0/+7 | |
| | ||||||
* | passwd: Cache the user/group tables | Tavian Barnes | 2020-02-29 | 8 | -35/+471 | |
| | | | | | | | | | | | | | | | | | | | | | | This is a significant optimization for conditions that need these tables: Benchmark #1: ./bfs ~/code/linux -nouser >/dev/null Time (mean ± σ): 232.0 ms ± 2.5 ms [User: 44.3 ms, System: 185.0 ms] Range (min … max): 228.7 ms … 238.7 ms 12 runs Benchmark #2: ./bfs-1.6 ~/code/linux -nouser >/dev/null Time (mean ± σ): 1.050 s ± 0.012 s [User: 544.2 ms, System: 500.0 ms] Range (min … max): 1.025 s … 1.063 s 10 runs Benchmark #3: find ~/code/linux -nouser >/dev/null Time (mean ± σ): 1.040 s ± 0.012 s [User: 533.6 ms, System: 500.6 ms] Range (min … max): 1.017 s … 1.054 s 10 runs Summary './bfs ~/code/linux -nouser >/dev/null' ran 4.48 ± 0.07 times faster than 'find ~/code/linux -nouser >/dev/null' 4.52 ± 0.07 times faster than './bfs-1.6 ~/code/linux -nouser >/dev/null' |