Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Rename struct cmdline to bfs_ctx | Tavian Barnes | 2020-09-27 | 18 | -562/+786 |
| | | | | | The API remains similar, with some added accessor functions for lazy initialization of the pwcache and mtab. | ||||
* | exec: Output a human-readable description of terminating signals | Tavian Barnes | 2020-09-23 | 1 | -1/+5 |
| | |||||
* | bftw: Fix bftw_cached_stat() with BFS_STAT_TRYFOLLOW | Tavian Barnes | 2020-09-20 | 1 | -1/+5 |
| | |||||
* | tests: Add missing ground truth | Tavian Barnes | 2020-09-20 | 1 | -0/+12 |
| | |||||
* | printf: Format the empty string for %l of non-links | Tavian Barnes | 2020-09-20 | 2 | -9/+15 |
| | | | | It makes a difference if the format specifier has a width. | ||||
* | stat: Rename bfs_stat_flag to _flags | Tavian Barnes | 2020-09-18 | 7 | -23/+23 |
| | | | | Flags enums should be plural. | ||||
* | Don't call stat() just to determine symbolic lengths | Tavian Barnes | 2020-09-18 | 5 | -11/+30 |
| | | | | | | | The new bftw_cached_stat() helper gets us stat info if we already have it, but doesn't call stat() if we don't. In that case we just take a guess for the initial length to readlinkat(). This lets us avoid stat() entirely in many cases for -lname and -printf %l. | ||||
* | util: Make the initial allocation bigger for xreadlinkat() | Tavian Barnes | 2020-09-18 | 1 | -1/+6 |
| | | | | | | | | | Most symlinks are more than 1 character long, so rather than wasting time with 1, 2, 4, ... when we don't have a good guess for the length, start with a bigger one. Credit to https://twitter.com/RichFelker/status/1306321019108556806 for reminding me of this. | ||||
* | pwcache: Fix an invalid free if strdup()ing the group name fails | Tavian Barnes | 2020-09-02 | 1 | -3/+4 |
| | |||||
* | pwcache: Work around gr_mem being misaligned on macOS | Tavian Barnes | 2020-08-13 | 1 | -3/+14 |
| | | | | C.f. https://github.com/php/php-src/commit/d80f0ff6c0a557d8c993a9d2bd006fb488f6d564 | ||||
* | Implement -xattrname | Tavian Barnes | 2020-08-13 | 12 | -20/+159 |
| | | | | From macOS find. | ||||
* | bftw: Make some flag names more explicit | Tavian Barnes | 2020-07-29 | 4 | -36/+36 |
| | |||||
* | bftw: Rename bftw_typeflag to bftw_type, and make it not a bitmask | Tavian Barnes | 2020-07-29 | 9 | -107/+106 |
| | |||||
* | Update default branch to 'main' | Tavian Barnes | 2020-07-10 | 1 | -2/+2 |
| | |||||
* | eval: Fix an assertion failure with -D search -s | Tavian Barnes | 2020-06-16 | 1 | -0/+1 |
| | |||||
* | eval: Fix a segfault with -D search -S eds | Tavian Barnes | 2020-06-16 | 1 | -0/+1 |
| | |||||
* | Implement exponential deepening search | Tavian Barnes | 2020-06-16 | 6 | -31/+114 |
| | |||||
* | bftw: Factor out some of the iterative deepening harness | Tavian Barnes | 2020-06-12 | 1 | -39/+65 |
| | |||||
* | 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. |