summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Implement -user and -group.Tavian Barnes2016-02-142-1/+100
|
* s/color_table/colors/.Tavian Barnes2016-02-144-19/+19
|
* Refactor color handling.Tavian Barnes2016-02-145-65/+122
| | | | The main benefit is colored warnings/errors during parsing.
* Don't modify the result of getenv().Tavian Barnes2016-02-142-4/+11
|
* Implement -lname and -ilname.Tavian Barnes2016-02-144-2/+67
|
* "Implement" -noleaf.Tavian Barnes2016-02-141-0/+15
|
* Implement -mount/-xdev.Tavian Barnes2016-02-143-3/+20
|
* Add brief -help and -version support.Tavian Barnes2016-02-143-2/+66
|
* Don't stop early just because deleting failed.Tavian Barnes2016-02-141-1/+1
|
* Implement -iname and -ipath.Tavian Barnes2016-02-134-10/+59
|
* Fix -name handling when the root has trailing slashes.Tavian Barnes2016-02-133-4/+60
|
* Implement -xtype.Tavian Barnes2016-02-134-6/+76
|
* Follow links if appropriate in predicates.Tavian Barnes2016-02-133-7/+7
|