Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add a test for colored output | Tavian Barnes | 2017-03-11 | 2 | -0/+15 | |
| | ||||||
* | Make a printf()-style API for colored messages | Tavian Barnes | 2017-03-11 | 8 | -322/+306 | |
| | ||||||
* | Implement -printf %Ak, %Ck, and %Tk | Tavian Barnes | 2017-03-11 | 3 | -90/+240 | |
| | ||||||
* | tests: Print the count of passing and failing tests | Tavian Barnes | 2017-02-11 | 1 | -13/+14 | |
| | ||||||
* | Add some tests for the operators themselves | Tavian Barnes | 2017-02-11 | 9 | -10/+118 | |
| | ||||||
* | Allow short-circuiting optimizations with non-pure operands | Tavian Barnes | 2017-02-11 | 2 | -14/+42 | |
| | ||||||
* | Add tests for bfs's flexible command line parsing | Tavian Barnes | 2017-02-10 | 6 | -0/+35 | |
| | ||||||
* | tests: Don't require bash associative arrays | Tavian Barnes | 2017-02-10 | 1 | -22/+11 | |
| | | | | That's a bash 4 feature, while macOS is stuck on bash 3. | |||||
* | bftw: Make the nameoff of "///" point to "/" | Tavian Barnes | 2017-02-09 | 6 | -11/+14 | |
| | | | | This simplifies a few things such as -name handling for ///. | |||||
* | Give the test cases human-readable names | Tavian Barnes | 2017-02-09 | 138 | -312/+452 | |
| | ||||||
* | Don't close stdin for -ok or -okdir | Tavian Barnes | 2017-02-09 | 4 | -15/+45 | |
| | | | | Turns out it violates POSIX, even though GNU find does it. | |||||
* | parse: Factor out all "looks like icmp" checks | Tavian Barnes | 2017-02-09 | 1 | -11/+16 | |
| | ||||||
* | bftw: Add the DIR* to bftw_state | Tavian Barnes | 2017-02-09 | 1 | -15/+39 | |
| | | | | Can't forget to close it that way. | |||||
* | Add support for -x?type with multiple types | Tavian Barnes | 2017-02-08 | 8 | -169/+146 | |
| | | | | This functionality is already part of GNU findutils git. | |||||
* | bftw: Add mising closedir() to error path | Tavian Barnes | 2017-02-07 | 1 | -0/+1 | |
| | ||||||
* | Bail out if parse_root() fails | Tavian Barnes | 2017-02-07 | 1 | -44/+88 | |
| | | | | | | Previously, skip_paths() did not distinguish between end-of-arguments and parse_root() failing, returning NULL in both cases. If parse_root() failed, parsing would attempt to continue, in an unexpected state. | |||||
* | Add some missing perror() calls | Tavian Barnes | 2017-02-07 | 3 | -34/+39 | |
| | ||||||
* | bftw: Plug a leak if dirqueue_push() fails | Tavian Barnes | 2017-02-06 | 1 | -16/+28 | |
| | | | | | | | | | | If bftw_add() succeeds but dirqueue_push() fails, we need to clean up the just-added dircache_entry. Otherwise it will leak, and we'll also fail the cache->size == 0 assertion. Fix it by extracting the dircache-related parts of bftw_pop() into a new helper function bftw_gc(), and call it from bftw_pop() as well as the bftw_push() failure path. | |||||
* | Fix a memory leak parsing -printf | Tavian Barnes | 2017-02-06 | 3 | -1/+9 | |
| | ||||||
* | tests.sh: Set the umask before creating the test trees | Tavian Barnes | 2017-02-06 | 1 | -0/+1 | |
| | ||||||
* | Make -quit happen immediately, not at the end of the current expression | Tavian Barnes | 2017-02-05 | 4 | -4/+43 | |
| | ||||||
* | bftw: Compute nameoff correctly for the root in BFTW_DEPTH mode | Tavian Barnes | 2017-02-05 | 3 | -2/+11 | |
| | ||||||
* | Implement -printf/-fprintf | Tavian Barnes | 2017-02-05 | 17 | -46/+1087 | |
| | | | | | Based on a patch by Fangrui Song <i@maskray.me>. Closes #16. | |||||
* | Implement -nouser and -nogroup | Tavian Barnes | 2017-02-04 | 6 | -1/+62 | |
| | ||||||
* | Don't trust st_size when reading symlinks | Tavian Barnes | 2017-01-31 | 3 | -12/+44 | |
| | | | | | Linux /proc, for example, reports a st_size of 0 for everything. It's nice to be able to use -lname on them anyway. | |||||
* | Simplify exec_chdir() | Tavian Barnes | 2017-01-14 | 1 | -16/+10 | |
| | | | | | | The previous code recomputed the name offset for no reason, and had an embarrassing typo that was hypothetically a bug (`} if` instead of `} else if`). | |||||
* | Don't set _POSIX_C_SOURCE | Tavian Barnes | 2017-01-06 | 1 | -5/+4 | |
| | | | | | | The BSD behaviour is to hide all BSD extensions if standard-conformance feature test macros are present. We don't want strict POSIX, we want all available extensions, so ask for that. | |||||
* | tests: Add a test for -inum | Tavian Barnes | 2017-01-03 | 2 | -1/+9 | |
| | ||||||
* | tests: Add tests for -quit | Tavian Barnes | 2017-01-02 | 5 | -1/+27 | |
| | ||||||
* | eval: Check that O_DIRECTORY is defined before using it | Tavian Barnes | 2017-01-02 | 1 | -1/+5 | |
| | ||||||
* | travis: Do 32-bit builds too | Tavian Barnes | 2016-12-21 | 1 | -2/+13 | |
| | ||||||
* | Set _FILE_OFFSET_BITS to 64 | Tavian Barnes | 2016-12-21 | 3 | -1/+8 | |
| | | | | | With the new support for -size n[TP], this is needed to avoid overflow on 32-bit platforms. | |||||
* | Bump the version to 0.880.88 | Tavian Barnes | 2016-12-20 | 3 | -2/+19 | |
| | ||||||
* | Add some text to the -help output | Tavian Barnes | 2016-12-20 | 1 | -1/+27 | |
| | ||||||
* | Implement -mnewer | Tavian Barnes | 2016-12-20 | 4 | -1/+20 | |
| | ||||||
* | Add tera and peta suffices for -size | Tavian Barnes | 2016-12-20 | 3 | -3/+15 | |
| | ||||||
* | Implement -sparse from FreeBSD find | Tavian Barnes | 2016-12-20 | 3 | -0/+22 | |
| | ||||||
* | Support -[gu]id NAME like BSD find | Tavian Barnes | 2016-12-20 | 4 | -25/+59 | |
| | ||||||
* | Don't check errno after get{gr,pw}nam() | Tavian Barnes | 2016-12-20 | 1 | -24/+6 | |
| | | | | | Turns out it doesn't always keep errno 0, even if the only problem is a failed lookup. This was observed on a machine with Kerberos auth. | |||||
* | Implement BSD find's -depth N | Tavian Barnes | 2016-12-18 | 10 | -2/+95 | |
| | ||||||
* | tests: Allow limiting the testsuite to POSIX, BSD, GNU, and bfs-specific ↵ | Tavian Barnes | 2016-12-18 | 7 | -11/+188 | |
| | | | | features | |||||
* | tests.sh: Let the bfs binary be specified on the command line | Tavian Barnes | 2016-12-18 | 1 | -21/+35 | |
| | ||||||
* | Add support for -x (same as -mount/-xdev, from BSD) | Tavian Barnes | 2016-12-18 | 1 | -0/+1 | |
| | ||||||
* | Implement -regex, -iregex, and -regextype/-E | Tavian Barnes | 2016-12-18 | 13 | -8/+218 | |
| | ||||||
* | bftw: Clean up the dirqueue implementation a bit | Tavian Barnes | 2016-12-17 | 1 | -38/+34 | |
| | ||||||
* | Fix the build on macOS | Tavian Barnes | 2016-12-17 | 1 | -0/+1 | |
| | | | | | macOS hides st_[acm]timespec if _POSIX_C_SOURCE is defined, unless _DARWIN_C_SOURCE is too. | |||||
* | Fix the build on OpenIndiana | Tavian Barnes | 2016-12-16 | 2 | -1/+19 | |
| | ||||||
* | Add a .travis.yml | Tavian Barnes | 2016-12-08 | 2 | -0/+19 | |
| | ||||||
* | tests: Fix failure when /tmp is a symlink. | Tavian Barnes | 2016-12-08 | 1 | -1/+4 | |
| | ||||||
* | tests: Don't use install -D | Tavian Barnes | 2016-12-08 | 1 | -7/+14 | |
| | | | | -D is a GNU-ism that doesn't work on BSD or macOS. |