summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move purity optimizations to -O2.Tavian Barnes2016-06-071-10/+12
|
* Implement -D opt.Tavian Barnes2016-06-073-29/+88
|
* At -O3, replace command lines with no actions by -false.Tavian Barnes2016-06-071-0/+5
|
* eval: Clean up open fd counting code.Tavian Barnes2016-06-031-5/+9
|
* color: Ignore colors that are all zeros.Tavian Barnes2016-06-031-1/+6
| | | | | This keeps multi_hard from overriding extension colors if LS_COLORS says mh=00:, matching the behavior of ls.
* color: Add multi-hard link coloring support.Tavian Barnes2016-06-021-1/+14
|
* Fix hypothetical leak if waitpid() fails.Tavian Barnes2016-06-021-1/+1
|
* Bump to 0.79.0.79Tavian Barnes2016-05-222-2/+2
|
* Use complete sentences in error messages consistently.Tavian Barnes2016-05-221-3/+3
|
* Use argc/argv naming consistently.Tavian Barnes2016-05-223-84/+84
|
* Implement -{exec,ok}{,dir}.Tavian Barnes2016-05-224-8/+297
|
* dstring: Clean up the API a bit.Tavian Barnes2016-05-223-15/+21
|
* bftw: Use realloc() to grow the dirqueue.Tavian Barnes2016-05-171-13/+11
|
* bftw: Remove some debugging counters that were left in accidentally.Tavian Barnes2016-05-171-10/+0
|
* dstring: Split out the dynamic string logic.Tavian Barnes2016-04-134-69/+213
|
* Remove an errant debugging printf().Tavian Barnes2016-04-101-1/+0
|
* Bump the version to 0.74.0.74Tavian Barnes2016-03-122-2/+2
|
* Implement -size.Tavian Barnes2016-03-124-17/+172
|
* Implement -used.Tavian Barnes2016-03-053-0/+18
| | | | | | This doesn't agree with find's output, but I think find is buggy here. For example, find -used +0 is returning fewer results than find -used 1, which makes no sense given that 1 is greater than 0.
* Fix a typo that caused a segfault with missing arguments.Tavian Barnes2016-02-271-1/+1
|
* Implement (most of) -newerXY.Tavian Barnes2016-02-272-3/+88
|
* Fix -daystart to not round 0 upwards.Tavian Barnes2016-02-272-4/+15
|
* Fix potential leaks in -lname.Tavian Barnes2016-02-271-12/+17
|
* Fix uninitialized read in parse_colors().Tavian Barnes2016-02-271-0/+1
|
* Don't repeat reported error messages from bftw().Tavian Barnes2016-02-271-1/+9
| | | | Fixes #7.
* Color broken symlinks correctly.Tavian Barnes2016-02-241-3/+10
|
* Don't export .git* files in archives.Tavian Barnes2016-02-231-0/+1
|
* Bump the version to 0.70.0.70Tavian Barnes2016-02-232-2/+2
|
* Implement -O.Tavian Barnes2016-02-233-49/+85
|
* Implement -D tree.Tavian Barnes2016-02-232-209/+362
|
* bftw: Update at_flags when not following a broken symbolic link.Tavian Barnes2016-02-231-1/+2
|
* bftw: Plug a leak when the root is not a directory.Tavian Barnes2016-02-231-1/+6
|
* Implement -D stat.Tavian Barnes2016-02-223-1/+83
|
* bftw: Use the currently open directory as at_fd in BFTW_CHILD mode.Tavian Barnes2016-02-221-2/+5
|
* Simplify double-negation.Tavian Barnes2016-02-211-0/+5
|
* bftw: Use O_CLOEXEC.Tavian Barnes2016-02-211-3/+3
|
* Make optimizations based on the purity of predicates.Tavian Barnes2016-02-212-44/+42
| | | | | | | | This allows something like $ ./bfs -empty -false to avoid evaluating -empty, just like find.
* Fix infinite recursion in eval_not().Tavian Barnes2016-02-211-6/+13
| | | | And use a helper function to prevent this kind of bug in the future.
* bftw: Don't store the terminating '\0' in dircache_entry names.Tavian Barnes2016-02-211-2/+1
|
* bftw: Use a better cache eviction policy.Tavian Barnes2016-02-211-113/+186
| | | | | | Instead of simple LRU, we now evict the open entry with the lowest refcount. This reduces the average number of components passed to openat() by a significant margin, and speeds bfs up by about ~5%.
* bftw: Shrink the LRU before finding the parent.Tavian Barnes2016-02-201-10/+6
| | | | Otherwise we might close the found parent.
* bftw: Clean up dirqueue implementation a bit.Tavian Barnes2016-02-191-20/+28
|
* bftw: Don't keep DIR*'s around.Tavian Barnes2016-02-191-40/+75
| | | | | | | | | | | | | | | DIR*'s were being kept around so dirfd(dir) could be passed to future openat() calls. But DIR*'s are big, holding a cache of filenames etc. read by readdir(). Instead, store the raw fd and dup() it to open a DIR* with fdopendir(). This way we can call dirclose() as soon as possible, while still keeping an open fd. Ideally there would be a way to closedir() without invoking close() on the underlying fd, but this is a good approximation. Reduces memory footprint by around 64% in a large directory tree.
* -follow is a positional option.Tavian Barnes2016-02-181-4/+4
|
* bftw: Use a circular buffer to implement the dirqueue.Tavian Barnes2016-02-171-46/+37
|
* Fix an uninitialized value warning.Tavian Barnes2016-02-171-2/+5
|
* Initialize expr.cmp for -user and -group.Tavian Barnes2016-02-171-0/+2
|
* Add missing "error:" tag to error messages.Tavian Barnes2016-02-161-2/+2
|
* Makefile: Add install and uninstall targets.Tavian Barnes2016-02-142-3/+38
|
* Set the version to 0.67.0.67Tavian Barnes2016-02-142-3/+14
| | | | | For now, version numbers are the fraction of GNU find features supported.