Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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. | ||||
* | tests: Don't check -size for directories | Tavian Barnes | 2016-12-05 | 5 | -29/+6 |
| | |||||
* | tests: Don't check -links for directories | Tavian Barnes | 2016-12-05 | 4 | -12/+3 |
| | |||||
* | Move portability code into util.h | Tavian Barnes | 2016-12-04 | 6 | -21/+51 |
| | |||||
* | Release 0.84.10.84.1 | Tavian Barnes | 2016-11-24 | 3 | -2/+19 |
| | |||||
* | Update some copyright dates. | Tavian Barnes | 2016-11-24 | 6 | -6/+6 |
| | |||||
* | Allow // to be different from / | Tavian Barnes | 2016-11-24 | 4 | -10/+8 |
| | | | | | | POSIX says that // may be resolved in an implementation-defined way (generally, to access network shares). So don't use it in tests, and don't canonicalize it to '/' in -execdir. | ||||
* | bftw: Infer the flags in ftwbuf_stat() | Tavian Barnes | 2016-11-23 | 1 | -5/+5 |
| | |||||
* | tests: Make sure the temporary directory is owned by the current user/group | Tavian Barnes | 2016-11-22 | 1 | -0/+1 |
| | | | | | BSDs apparently prefer to create new files/directories with the same group as the parent directory, rather than the current primary group. | ||||
* | tests: Mkae LC_ALL=C apply to the whole pipeline when sorting. | Tavian Barnes | 2016-11-22 | 4 | -40/+43 |
| | |||||
* | Don't pass AT_SYMLINK_NOFOLLOW to faccessat() | Tavian Barnes | 2016-11-22 | 1 | -1/+1 |
| | | | | It's an invalid flag for that call, and FreeBSD actually complains. | ||||
* | bftw: Make a defensive copy of the ftwbuf | Tavian Barnes | 2016-11-21 | 1 | -1/+4 |
| | | | | | The callback may modify the ftwbuf, but we check it after the callback (for typeflag and statbuf). Have them mutate a copy instead. | ||||
* | bftw: Always initialize dircache_entry::{dev,ino} | Tavian Barnes | 2016-11-21 | 1 | -6/+7 |
| | | | | | If stat() fails, they won't get filled in otherwise. Then cycle detection would have read uninitialized values. | ||||
* | bftw: Make bftw_flags more similar to fts() options. | Tavian Barnes | 2016-11-21 | 4 | -25/+30 |
| | |||||
* | Support -perm +MODE for symbolic modes. | Tavian Barnes | 2016-11-21 | 3 | -5/+1 |
| | | | | Only things like -perm +777 are disallowed by GNU find. | ||||
* | Fix -execdir for / | Tavian Barnes | 2016-11-21 | 5 | -6/+30 |
| | |||||
* | Fix -execdir for root paths with no slashes. | Tavian Barnes | 2016-11-21 | 2 | -2/+6 |
| | |||||
* | tests: Don't rely on the system 'find' for the expected output. | Tavian Barnes | 2016-11-21 | 88 | -142/+1011 |
| |