summaryrefslogtreecommitdiffstats
path: root/bftw.h
Commit message (Collapse)AuthorAgeFilesLines
* Don't call stat() just to determine symbolic lengthsTavian Barnes2020-09-181-0/+13
| | | | | | | 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.
* bftw: Make some flag names more explicitTavian Barnes2020-07-291-5/+5
|
* bftw: Rename bftw_typeflag to bftw_type, and make it not a bitmaskTavian Barnes2020-07-291-19/+19
|
* Implement exponential deepening searchTavian Barnes2020-06-161-0/+2
|
* Implement -s flag from FreeBSD find to sort resultsTavian Barnes2020-03-211-0/+2
|
* Make -mount and -xdev do different thingsTavian Barnes2019-07-041-2/+4
| | | | | | | | | POSIX now says -mount should skip the whole mount point, while -xdev should only skip its descendents. C.f. http://austingroupbugs.net/view.php?id=1133 C.f. https://savannah.gnu.org/bugs/?42318 C.f. https://savannah.gnu.org/bugs/?54745
* bftw: Remove BFTW_SKIP_SIBLINGSTavian Barnes2019-06-251-3/+1
| | | | | It's not used by bfs, and it's difficult to support in all search strategies.
* bftw.h: Add missing #include for mode_tTavian Barnes2019-06-251-0/+1
|
* Implement an iterative deepening mode (-ids)Tavian Barnes2019-05-291-0/+2
|
* Implement a depth-first mode (-dfs)Tavian Barnes2019-05-281-2/+13
|
* bftw: Visit multiple roots breadth-firstTavian Barnes2019-05-281-3/+5
| | | | This makes `bfs a b` treat `a` and `b` as siblings.
* bftw: Pass a const struct BFTW * to the callbackTavian Barnes2019-05-051-3/+3
|
* bftw: Add a caching stat() API to struct BFTWTavian Barnes2019-05-041-3/+44
|
* stat: Unify the flags argumentsTavian Barnes2019-05-041-3/+3
|
* bftw: Work around d_type being wrong for bind mounts on LinuxTavian Barnes2019-03-061-0/+3
| | | | | | C.f. https://savannah.gnu.org/bugs/?54913 C.f. https://lkml.org/lkml/2019/2/11/2027 Fixes https://github.com/tavianator/bfs/issues/37
* bftw: Switch from taking separate parameters to a parameters structTavian Barnes2019-03-061-11/+19
|
* Add some documentation commentsTavian Barnes2019-02-091-0/+4
|
* bftw: Move bftw_typeflag conversion out of utilTavian Barnes2018-12-171-0/+5
| | | | Turns out incomplete enum types are a GNU C extension.
* Update copyright datesTavian Barnes2018-09-241-1/+1
|
* stat: New wrapper around the stat() familyTavian Barnes2018-01-081-3/+3
| | | | | This lets bfs transparently support the new statx() system call on Linux, giving it access to file birth times.
* Minor header cleanupsTavian Barnes2018-01-081-0/+3
|
* Re-license under the BSD Zero Clause LicenseTavian Barnes2017-07-271-10/+15
|
* Release 1.01.0Tavian Barnes2017-04-241-1/+1
|
* Move bftw_typeflag converters to util.cTavian Barnes2017-04-081-5/+0
|
* Add support for -x?type with multiple typesTavian Barnes2017-02-081-12/+17
| | | | This functionality is already part of GNU findutils git.
* Implement -printf/-fprintfTavian Barnes2017-02-051-0/+2
| | | | | Based on a patch by Fangrui Song <i@maskray.me>. Closes #16.
* Update some copyright dates.Tavian Barnes2016-11-241-1/+1
|
* bftw: Make bftw_flags more similar to fts() options.Tavian Barnes2016-11-211-9/+7
|
* bftw: Add support for some exotic file types, where available.Tavian Barnes2016-10-021-0/+6
|
* Implement -mount/-xdev.Tavian Barnes2016-02-141-0/+2
|
* Follow links if appropriate in predicates.Tavian Barnes2016-02-131-0/+2
|
* Implement -L/-follow.Tavian Barnes2016-02-091-4/+10
|
* Implement -P and -H.Tavian Barnes2016-02-041-3/+5
|
* Don't use typedefs to avoid struct/enum tags.Tavian Barnes2016-02-041-12/+15
|
* Optimize -maxdepth in -depth mode.Tavian Barnes2015-09-261-1/+13
|
* Don't call stat() until absolutely necessary.Tavian Barnes2015-09-261-1/+1
| | | | | This way we only call stat() if we're actually pretty-printing the path, potentially saving lots of calls on paths that don't get printed.
* bftw() interface improvements:Tavian Barnes2015-09-261-50/+68
| | | | | | - Use enums instead of ints where it makes sense - Move the file path inside struct BFTW - Expose a fd and relative path for *at() calls
* Add -depth support.Tavian Barnes2015-09-081-0/+2
| | | | | | | The resulting order is fairly weird, as files are still returned in breadth-first order, but directories are returned in a backwards order based on when their reference counts drop to zero. But it's good enough for -delete support.
* Print the root file/directory too.Tavian Barnes2015-09-021-2/+2
|
* Add -type support.Tavian Barnes2015-08-301-6/+14
| | | | Fixes #2.
* Recover from errors in diropen().Tavian Barnes2015-07-251-1/+12
| | | | Fixes #4.
* bftw: New struct BFTW type to hold file attributes.Tavian Barnes2015-07-231-5/+17
| | | | | Like nftw()'s struct FTW. level is needed to implement -mindepth/ -maxdepth.
* bftw: Add flags parameter and BFTW_STAT flag.Tavian Barnes2015-06-181-2/+11
|
* Implement bftw().Tavian Barnes2015-06-141-0/+62