Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util: New xfopen() utility | Tavian Barnes | 2021-09-21 | 1 | -0/+45 |
| | | | | | And use it to pass O_CLOEXEC to all FILE*'s, so the files opened for -fprint etc. don't get passed to the programs run by -exec etc. | ||||
* | util: Wrap getdelim() instead of open coding it | Tavian Barnes | 2021-09-15 | 1 | -27/+20 |
| | |||||
* | util: New xconfstr() wrapper | Tavian Barnes | 2021-06-13 | 1 | -0/+19 |
| | |||||
* | util: Tweak the safe read/write functions | Tavian Barnes | 2021-04-15 | 1 | -40/+31 |
| | |||||
* | util: add safe_read_all() and safe_write_all() functions. | Markus F.X.J. Oberhumer | 2021-04-15 | 1 | -0/+35 |
| | |||||
* | util: introduce safe versions of read & write that handle interrupted | Markus F.X.J. Oberhumer | 2021-04-15 | 1 | -0/+20 |
| | | | | systems calls. | ||||
* | util: Fix build on GNU Hurd | Tavian Barnes | 2021-03-21 | 1 | -1/+1 |
| | | | | | | | Hurd apparently #defines BSD, but doesn't profide strtofflags. So make all that code conditional on !__GNU__. Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=hurd-i386&ver=2.2-1&stamp=1615370700&raw=0 | ||||
* | Support -flags on all the BSDs | Tavian Barnes | 2021-03-06 | 1 | -0/+30 |
| | |||||
* | Update copyright dates | Tavian Barnes | 2021-02-05 | 1 | -1/+1 |
| | |||||
* | dir: New DIR* facade | Tavian Barnes | 2021-01-28 | 1 | -18/+0 |
| | |||||
* | util: Use fgetc(stdin) instead of getchar() | Tavian Barnes | 2020-11-30 | 1 | -1/+1 |
| | | | | | On FreeBSD the getchar() macro leads to (spurious?) msan uninitialized value errors. Call the fgetc() library function to work around it. | ||||
* | Include what I use | Tavian Barnes | 2020-11-12 | 1 | -1/+1 |
| | | | | Thanks to https://github.com/include-what-you-use/include-what-you-use | ||||
* | Enable -Wsign-compare to catch bugs like 726d7801 | Tavian Barnes | 2020-11-04 | 1 | -1/+1 |
| | |||||
* | util: Move redirect() and isopen() to main.c | Tavian Barnes | 2020-10-01 | 1 | -28/+0 |
| | |||||
* | util: Don't rely on bftw | Tavian Barnes | 2020-09-30 | 1 | -37/+36 |
| | | | | And rename format_mode() to xstrmode() while I'm at it. | ||||
* | util: Make the initial allocation bigger for xreadlinkat() | Tavian Barnes | 2020-09-18 | 1 | -1/+6 |
| | | | | | | | | | Most symlinks are more than 1 character long, so rather than wasting time with 1, 2, 4, ... when we don't have a good guess for the length, start with a bigger one. Credit to https://twitter.com/RichFelker/status/1306321019108556806 for reminding me of this. | ||||
* | bftw: Rename bftw_typeflag to bftw_type, and make it not a bitmask | Tavian Barnes | 2020-07-29 | 1 | -1/+1 |
| | |||||
* | time: Split out time-related functions from util | Tavian Barnes | 2020-02-13 | 1 | -86/+0 |
| | |||||
* | parse: Handle 1969-12-31T23:59:59Z | Tavian Barnes | 2020-02-13 | 1 | -3/+24 |
| | | | | | mktime() returns -1 on error, but also for one second before the epoch. Compare the input against localtime(-1) to distinguish those cases. | ||||
* | Implement explicit reference times (-newerXt) | Tavian Barnes | 2020-02-11 | 1 | -0/+54 |
| | |||||
* | Update copyright dates | Tavian Barnes | 2020-01-07 | 1 | -1/+1 |
| | |||||
* | util: Support ports and whiteouts in format_mode() | Tavian Barnes | 2020-01-07 | 1 | -3/+13 |
| | |||||
* | util: Filter out . and .. in xreaddir() | Tavian Barnes | 2019-06-25 | 1 | -6/+14 |
| | |||||
* | Turn on -Wstrict-prototypes | Tavian Barnes | 2019-02-06 | 1 | -1/+1 |
| | |||||
* | main: Fix closed standard stream handling | Tavian Barnes | 2019-02-01 | 1 | -7/+3 |
| | | | | | bfs >&- should complain about a missing file descriptor, rather than silently succeeding. | ||||
* | posix1e: Split out ACL and capability handling from util | Tavian Barnes | 2019-01-02 | 1 | -168/+0 |
| | |||||
* | util: Don't leak an acl_t on non-POSIX.1e platforms | Tavian Barnes | 2018-12-19 | 1 | -1/+2 |
| | |||||
* | util: Support systems that don't define the POSIX.1e ACL tag values | Tavian Barnes | 2018-12-18 | 1 | -0/+4 |
| | |||||
* | Implement -acl test | Tavian Barnes | 2018-12-17 | 1 | -1/+71 |
| | |||||
* | color: Support coloring files with capabilities | Tavian Barnes | 2018-12-17 | 1 | -0/+93 |
| | |||||
* | bftw: Move bftw_typeflag conversion out of util | Tavian Barnes | 2018-12-17 | 1 | -98/+1 |
| | | | | Turns out incomplete enum types are a GNU C extension. | ||||
* | Check for <sys/param.h> before including it | Tavian Barnes | 2018-11-08 | 1 | -3/+7 |
| | | | | Fixes #38. | ||||
* | util: Provide fallback implementations of makedev()/major()/minor() | Tavian Barnes | 2018-11-02 | 1 | -0/+14 |
| | |||||
* | util: Wrap __has_include() | Tavian Barnes | 2018-11-01 | 1 | -1/+1 |
| | |||||
* | Print device major/minor numbers for -ls | Tavian Barnes | 2018-11-01 | 1 | -0/+16 |
| | |||||
* | Update copyright dates | Tavian Barnes | 2018-09-24 | 1 | -1/+1 |
| | |||||
* | util: Preserve errno in pipe_cloexec() | Tavian Barnes | 2018-07-24 | 1 | -0/+2 |
| | |||||
* | util: macOS doesn't have pipe2() | Tavian Barnes | 2018-07-24 | 1 | -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. | ||||
* | stat: New wrapper around the stat() family | Tavian Barnes | 2018-01-08 | 1 | -11/+0 |
| | | | | | This lets bfs transparently support the new statx() system call on Linux, giving it access to file birth times. | ||||
* | exec: Recover from E2BIG | Tavian Barnes | 2017-11-12 | 1 | -0/+18 |
| | |||||
* | util: Wrap faccessat() to fix some portability issues | Tavian Barnes | 2017-09-20 | 1 | -0/+14 |
| | |||||
* | util: Factor out checks for nonexistent paths/broken links | Tavian Barnes | 2017-09-06 | 1 | -1/+5 |
| | |||||
* | Avoid multiple extra stat()s of broken symlinks for -xtype | Tavian Barnes | 2017-08-22 | 1 | -5/+5 |
| | |||||
* | Unify broken symlink handling | Tavian Barnes | 2017-08-12 | 1 | -0/+11 |
| | | | | | | | | | Rather than open-code the fallback logic for broken symlinks everywhere it's needed, introduce a new xfstatat() utility function that performs the fallback automatically. Using xfstatat() consistently fixes a few bugs, including cases where broken symlinks are given as arguments to predicates like -samefile. | ||||
* | Re-license under the BSD Zero Clause License | Tavian Barnes | 2017-07-27 | 1 | -10/+15 |
| | |||||
* | main: Call setlocale() at startup to use the system locale | Tavian Barnes | 2017-07-20 | 1 | -0/+10 |
| | |||||
* | Handle yes/no prompts correctly according to the locale | Tavian Barnes | 2017-07-15 | 1 | -0/+72 |
| | |||||
* | Release 1.01.0 | Tavian Barnes | 2017-04-24 | 1 | -1/+1 |
| | |||||
* | Move bftw_typeflag converters to util.c | Tavian Barnes | 2017-04-08 | 1 | -1/+98 |
| | |||||
* | Color link targets for -ls | Tavian Barnes | 2017-03-16 | 1 | -0/+15 |
| | | | | Fixes #18. |