summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* stat: Provide a helper for getting human-readable field namesTavian Barnes2018-12-254-60/+73
| | | | And fix -newerXY if the Y time doesn't exist.
* stat: Unify bfs_stat_time() implementationsTavian Barnes2018-12-204-45/+39
|
* stat: Handle statx() not returning some timesTavian Barnes2018-12-192-14/+44
| | | | | | /sys/fs/cgroup, for example, doesn't return access times from statx(). That shouldn't matter unless we actually need them, so make it not an error.
* parse: Fix probabilities when -types are duplicatedTavian Barnes2018-12-191-16/+24
| | | | -type f,f does not have more than a 100% probability of success.
* parse: Add cost info for -acl and -capableTavian Barnes2018-12-191-2/+6
| | | | And set ephemeral_fds correctly too.
* util: Don't leak an acl_t on non-POSIX.1e platformsTavian Barnes2018-12-191-1/+2
|
* util: Support systems that don't define the POSIX.1e ACL tag valuesTavian Barnes2018-12-181-0/+4
|
* travis: Install the POSIX.1e headersTavian Barnes2018-12-181-0/+8
|
* Implement -acl testTavian Barnes2018-12-177-2/+110
|
* Add new -capable testTavian Barnes2018-12-174-0/+33
|
* color: Support coloring files with capabilitiesTavian Barnes2018-12-174-5/+115
|
* Makefile: Link with -lrt on LinuxTavian Barnes2018-12-171-2/+14
| | | | Fixes #29.
* tests.sh: Add a --help with usage informationTavian Barnes2018-12-171-1/+36
|
* bftw: Move bftw_typeflag conversion out of utilTavian Barnes2018-12-176-112/+107
| | | | Turns out incomplete enum types are a GNU C extension.
* color: Make extension detection case-insensitiveTavian Barnes2018-12-171-8/+18
| | | | It's what GNU ls does.
* color: Don't print the leading directory color if there's no leading directoryTavian Barnes2018-12-172-24/+23
|
* bfs(1): Fix some double spaces after exclamation marksTavian Barnes2018-12-031-9/+2
|
* exec: Reject -exec \; without a commandTavian Barnes2018-11-142-1/+20
| | | | | | | | | | | Prior to this, we'd fork and then segfault on every file as NULL was passed to execvpe(). Found while looking through old FreeBSD find bugs: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=36521 bfs still supports the (dubious, possibly unintentional?) GNU find extension to POSIX that allows $ bfs -exec {} \;
* tests: Don't assume BSD find has the "implicit ."Tavian Barnes2018-11-141-3/+2
| | | | Also, FreeBSD find rejects -L -delete, so don't test it under --bsd.
* tests: Don't assume find continues after filesystem loopsTavian Barnes2018-11-1419-37/+100
| | | | | | | | | | | POSIX says > When it detects an infinite loop, find shall write a diagnostic > message to standard error and shall either recover its position in the > hierarchy or terminate. So make the 'links' folder not have any loops, and add a new 'loops' folder for testing the GNU/bfs behaviour.
* Check for <sys/param.h> before including itTavian Barnes2018-11-084-9/+24
| | | | Fixes #38.
* util: Provide fallback implementations of makedev()/major()/minor()Tavian Barnes2018-11-021-0/+14
|
* parse: Use a better reference point for incomplete expression errorsTavian Barnes2018-11-021-1/+8
| | | | | This makes `bfs -not type d` complain about nothing following the `-not` rather than the `d`.
* parse: Add support for -D all to enable all debug flagsTavian Barnes2018-11-022-0/+5
|
* parse: Improve -D diagnosticsTavian Barnes2018-11-021-12/+26
|
* util: Wrap __has_include()Tavian Barnes2018-11-013-6/+8
|
* Print device major/minor numbers for -lsTavian Barnes2018-11-015-9/+56
|
* tests: Make the weird names tests POSIX-compliantTavian Barnes2018-11-011-6/+6
|
* tests: Add testcases for -pruneTavian Barnes2018-11-014-0/+45
|
* Remove man page on make uninstallTavian Barnes2018-11-011-0/+1
|
* tests: Sort test listsTavian Barnes2018-09-271-159/+292
|
* tests: Move test for -H -newer out of POSIXTavian Barnes2018-09-271-1/+2
| | | | | The POSIX spec implies that -newer is actually not supposed to respect -H/-L. But all implementations I know about do anyway.
* tests: Remove non-POSIX features from POSIX testsTavian Barnes2018-09-261-13/+21
| | | | Credit to http://core.suckless.org/sbase/ for identifying these.
* Update some more copyright datesTavian Barnes2018-09-262-2/+2
|
* Merge branch 'release-1.2.4'Tavian Barnes2018-09-2419-19/+32
|\
| * Release 1.2.41.2.4Tavian Barnes2018-09-243-2/+15
| |
| * Update copyright datesTavian Barnes2018-09-2419-19/+19
| |
* | spawn: Add some docsTavian Barnes2018-09-192-9/+54
| |
* | spawn: Implement execvpe() on platforms that lack itTavian Barnes2018-09-191-1/+11
| | | | | | | | | | | | Credit to https://github.com/nim-lang/Nim/issues/3138 for the idea to just overwrite environ and call execvp() instead of duplicating the path searching logic.
* | spawn: New posix_spawn()-like API for execTavian Barnes2018-09-186-85/+243
|/
* exec: Don't leave zombies around if the child fails to exec()Tavian Barnes2018-09-121-10/+10
|
* exec: More fixes for bfs_exec_debug() changing errnoTavian Barnes2018-09-101-3/+4
|
* opt: Re-run optimizations after reordering expressionsTavian Barnes2018-08-184-25/+92
| | | | | This catches new data flow inferences that can be made after swapping the children of an expression.
* color: Fix a doc comment typoTavian Barnes2018-08-161-1/+1
|
* Add some missing fallthrough commentsTavian Barnes2018-08-162-0/+2
|
* util: Preserve errno in pipe_cloexec()Tavian Barnes2018-07-241-0/+2
|
* util: macOS doesn't have pipe2()Tavian Barnes2018-07-241-1/+2
| | | | | | | The code was testing for BSD, since all the normal BSDs have it. But until recently, <sys/param.h> wasn't included, so BSD was undefined even on platforms that define it. Now that it is defined appropriately, exclude macOS specifically.
* printf: Support all standard strftime() directivesTavian Barnes2018-07-241-10/+20
|
* printf: Support %B, GNU find's undocumented birth time specifierTavian Barnes2018-07-242-7/+8
|
* stat: Don't assume blocks are 512 bytesTavian Barnes2018-07-243-6/+24
| | | | | | | | | | | | POSIX says > The unit for the st_blocks member of the stat structure is not defined > within POSIX.1‐2008. and recommends using DEV_BSIZE from <sys/param.h> if available. Also, for -printf '%S', print 1 instead of NaN for empty files with no blocks.