summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tests: Fix color NUL byte test on platforms where sort expects textTavian Barnes2019-03-283-1/+17
|
* color: Implement ln=targetTavian Barnes2019-03-283-18/+82
| | | | | With ln=target in LS_COLORS, links should be colored according to their target's stat() info, not their own.
* color: Implement escape sequence parsingTavian Barnes2019-03-284-196/+426
| | | | | GNU ls allows custom escape sequences inside color values, including control characters and embedded NULs.
* dstring: Add a dstrdup() functionTavian Barnes2019-03-272-6/+23
|
* trie: Store void* values rather than const void*Tavian Barnes2019-03-274-5/+5
| | | | Fewer casts needed this way.
* opt: Optimize redundant comma expressionsTavian Barnes2019-03-214-5/+21
|
* tests: Respond to terminal resizesTavian Barnes2019-03-211-3/+9
|
* tests: Make the output more colorful and nicerTavian Barnes2019-03-201-18/+16
|
* opt: Replace -a -false/-o -true with -not when possibleTavian Barnes2019-03-203-0/+25
|
* tests: Add utilities for comparing colors to lsTavian Barnes2019-03-193-1/+93
|
* tests: Use archive extensions for color testsTavian Barnes2019-03-1726-6/+82
|
* color: Match the behaviour of GNU ls more closelyTavian Barnes2019-03-1727-51/+289
|
* main: Add pointer to trie.[ch]Tavian Barnes2019-03-171-0/+1
|
* README: Reorganize it a bitTavian Barnes2019-03-081-15/+27
|
* tests: Add a test for extension overridesTavian Barnes2019-03-073-0/+44
|
* eval: Fix -unique with -depthTavian Barnes2019-03-074-1/+33
|
* bftw: Work around d_type being wrong for bind mounts on LinuxTavian Barnes2019-03-068-43/+121
| | | | | | 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-063-30/+50
|
* parse: Use a trie to hold currently open filesTavian Barnes2019-03-065-31/+37
|
* mtab: Fix implementation for all platformsTavian Barnes2019-03-061-14/+7
|
* mtab: Replace the linked list of file system types with a trieTavian Barnes2019-03-061-44/+24
|
* trie: Add a function to get an arbitrary leafTavian Barnes2019-03-062-0/+14
| | | | This is useful if the stored values need to be cleaned up.
* trie: Fix jump node offsetsTavian Barnes2019-03-061-1/+1
|
* trie: Minor optimizationTavian Barnes2019-03-051-7/+6
|
* color: Use a trie to store file extension colorsTavian Barnes2019-03-041-48/+82
| | | | | This new implementation is about 14% faster overall at printing colored files.
* trie: Implement prefix/postfix searchTavian Barnes2019-03-042-0/+106
|
* trie: Implement removalTavian Barnes2019-03-042-0/+150
|
* trie: Revamp the API to support mappingsTavian Barnes2019-03-043-169/+127
|
* Implement -uniqueTavian Barnes2019-03-018-3/+95
| | | | Closes #48
* trie: Implement a QP trieTavian Barnes2019-03-013-0/+661
|
* tests: Add a test for symlink coloring to a deviceTavian Barnes2019-02-1813-1/+34
|
* parse: Wrap -help output at 80 charsTavian Barnes2019-02-131-3/+4
|
* Fix missing color escape ($) in the -help outputTavian Barnes2019-02-121-1/+1
|
* Release 1.3.31.3.3Tavian Barnes2019-02-103-2/+16
|
* Add some documentation commentsTavian Barnes2019-02-0921-1/+159
|
* tests: Add tests for -no{group,user} under fd pressureTavian Barnes2019-02-073-0/+16
|
* Turn on -Wstrict-prototypesTavian Barnes2019-02-064-4/+4
|
* Re-write the help/manpageTavian Barnes2019-02-062-503/+402
| | | | | | I'm not sure people care very much whether the functionality they're looking up originated in POSIX/BSD/GNU find (and if they do, they can check those docs).
* parse: Treat -d as a flag, not an optionTavian Barnes2019-02-061-2/+2
| | | | | | This is consistent with BSD find, not with GNU find. But the GNU find feature was an (incorrect) attempt to be compatible with BSD find anyway.
* parse: Add support for whiteouts in -type/-xtypeTavian Barnes2019-02-061-0/+4
| | | | FreeBSD find supports this.
* Fix -nouser/-nogroup error handlingTavian Barnes2019-02-062-2/+22
| | | | | | | | | | The proper way to check for nonexistent users/groups is to set errno to 0 before the get{grg,pwu}id() call, and check it afterwards. On doing this, it becomes obvious that the call can fail if bftw() is using all the available FDs, so give them some ephemeral FDs. It would be ideal to read the user/group table only once, but this fixes the bug for now.
* opt: Optimize -samefile together with -inumTavian Barnes2019-02-041-0/+9
|
* Merge branch 'improvements'Tavian Barnes2019-02-0128-212/+594
|\
| * util: Remove some unused macrosTavian Barnes2019-02-011-12/+0
| |
| * opt: Apply data flow optimizations to more numeric rangesTavian Barnes2019-02-011-79/+208
| |
| * parse: Remove the recommendation to check find -help or man findTavian Barnes2019-02-011-6/+3
| | | | | | | | bfs has had a comprehensive help text and man page for a while now.
| * tests: New utility for making and testing socket filesTavian Barnes2019-02-0115-13/+156
| |
| * eval: Fix wrong colors in error messagesTavian Barnes2019-02-011-45/+72
| | | | | | | | | | When reporting an error, we should try to stat the file first so the message can have the right colors.
| * main: Fix closed standard stream handlingTavian Barnes2019-02-016-22/+76
| | | | | | | | | | bfs >&- should complain about a missing file descriptor, rather than silently succeeding.
| * Makefile: New distcheck targetTavian Barnes2019-02-012-28/+27
| | | | | | | | | | | | To catch more errors automatically, this new target runs the tests in multiple configurations, including various sanitizers and with/without optimization.