summaryrefslogtreecommitdiffstats
path: root/eval.c
Commit message (Collapse)AuthorAgeFilesLines
* Don't close stdin for -ok or -okdirTavian Barnes2017-02-091-9/+0
| | | | Turns out it violates POSIX, even though GNU find does it.
* Add support for -x?type with multiple typesTavian Barnes2017-02-081-28/+2
| | | | This functionality is already part of GNU findutils git.
* Add some missing perror() callsTavian Barnes2017-02-071-20/+16
|
* Make -quit happen immediately, not at the end of the current expressionTavian Barnes2017-02-051-3/+31
|
* Implement -printf/-fprintfTavian Barnes2017-02-051-30/+47
| | | | | Based on a patch by Fangrui Song <i@maskray.me>. Closes #16.
* Implement -nouser and -nogroupTavian Barnes2017-02-041-0/+26
|
* Don't trust st_size when reading symlinksTavian Barnes2017-01-311-12/+1
| | | | | 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 Barnes2017-01-141-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`).
* eval: Check that O_DIRECTORY is defined before using itTavian Barnes2017-01-021-1/+5
|
* Add tera and peta suffices for -sizeTavian Barnes2016-12-201-2/+4
|
* Implement -sparse from FreeBSD findTavian Barnes2016-12-201-0/+13
|
* Implement BSD find's -depth NTavian Barnes2016-12-181-0/+7
|
* Implement -regex, -iregex, and -regextype/-ETavian Barnes2016-12-181-0/+33
|
* Move portability code into util.hTavian Barnes2016-12-041-12/+0
|
* Allow // to be different from /Tavian Barnes2016-11-241-5/+4
| | | | | | 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.
* Don't pass AT_SYMLINK_NOFOLLOW to faccessat()Tavian Barnes2016-11-221-1/+1
| | | | It's an invalid flag for that call, and FreeBSD actually complains.
* bftw: Make bftw_flags more similar to fts() options.Tavian Barnes2016-11-211-2/+5
|
* Fix -execdir for /Tavian Barnes2016-11-211-5/+12
|
* Fix -execdir for root paths with no slashes.Tavian Barnes2016-11-211-1/+5
|
* Check for readdir() errors everywhere.Tavian Barnes2016-11-141-4/+16
|
* Don't try to -delete the current directory.Tavian Barnes2016-11-131-0/+5
|
* Redirect stdin from /dev/null for -ok and -okdir.Tavian Barnes2016-11-131-0/+10
|
* Implement -perm.Tavian Barnes2016-10-291-0/+31
|
* Implement -ignore_readdir_race.Tavian Barnes2016-10-241-17/+25
|
* Check for POSIX timers before using them.Tavian Barnes2016-10-241-5/+23
|
* Check for errors in -print and friends.Tavian Barnes2016-10-161-4/+18
|
* bftw: Add support for some exotic file types, where available.Tavian Barnes2016-10-021-1/+22
|
* Use a linked list to store the root paths.Tavian Barnes2016-07-131-2/+2
|
* Implement -D rates.Tavian Barnes2016-06-281-2/+45
|
* Use underscores.Tavian Barnes2016-06-191-8/+8
|
* Re-work optimization levels.Tavian Barnes2016-06-091-2/+2
| | | | | | -O3 is the new default, for the future cost-based optimizer. -O4 enables the surprising/aggressive optimizations that used to be under -O3. -Ofast is a synonym for -O4.
* Implement -fprint and -fprint0.Tavian Barnes2016-06-081-6/+16
|
* Implement -D opt.Tavian Barnes2016-06-071-0/+3
|
* eval: Clean up open fd counting code.Tavian Barnes2016-06-031-5/+9
|
* Fix hypothetical leak if waitpid() fails.Tavian Barnes2016-06-021-1/+1
|
* Use argc/argv naming consistently.Tavian Barnes2016-05-221-9/+9
|
* Implement -{exec,ok}{,dir}.Tavian Barnes2016-05-221-1/+208
|
* Remove an errant debugging printf().Tavian Barnes2016-04-101-1/+0
|
* Implement -size.Tavian Barnes2016-03-121-1/+24
|
* Implement -used.Tavian Barnes2016-03-051-0/+15
| | | | | | 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 potential leaks in -lname.Tavian Barnes2016-02-271-12/+17
|
* Don't repeat reported error messages from bftw().Tavian Barnes2016-02-271-1/+9
| | | | Fixes #7.
* Implement -O.Tavian Barnes2016-02-231-0/+4
|
* Implement -D stat.Tavian Barnes2016-02-221-0/+31
|
* 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.
* Fix an uninitialized value warning.Tavian Barnes2016-02-171-2/+5
|
* s/color_table/colors/.Tavian Barnes2016-02-141-1/+1
|
* Refactor color handling.Tavian Barnes2016-02-141-3/+5
| | | | The main benefit is colored warnings/errors during parsing.
* Implement -lname and -ilname.Tavian Barnes2016-02-141-0/+36
|
* Add brief -help and -version support.Tavian Barnes2016-02-141-0/+4
|