summaryrefslogtreecommitdiffstats
path: root/util.c
Commit message (Collapse)AuthorAgeFilesLines
* Source / Include Folder (#88)トトも2022-04-161-510/+0
| | | Moved Source Files Into `src` Folder
* util: New xstrwidth() functionTavian Barnes2022-03-261-0/+36
|
* Don't shadow standard headersTavian Barnes2022-03-121-1/+1
| | | | | | | | | | | | | @italic on the AUR stated that bfs from the AUR fails to build on Manjaro. From the build log, it seems like <time.h> doesn't get included properly. I assume it's picking up ./time.h instead. I couldn't reproduce the build issue in the default configuration, but it does fail with EXTRA_CFLAGS="-I." which isn't good. So rename everything with an x prefix to stop clashing. Link: https://aur.archlinux.org/packages/bfs#comment-856102 Link: https://paste.rs/eqR
* regex: Rework error handlingTavian Barnes2022-02-241-6/+5
|
* regex: Wrap the POSIX API in a facadeTavian Barnes2022-02-211-12/+12
|
* regex: Add support for emacs and grep typesTavian Barnes2022-02-041-10/+1
|
* Standardize WITH_* make variables for configuring dependenciesTavian Barnes2022-01-291-1/+1
|
* Simplifyingdata-man2022-01-241-6/+1
|
* Using Oniguruma library (optionally)data-man2022-01-241-1/+6
|
* util: New close() wrappers to check for EBADF and preserve errnoTavian Barnes2022-01-181-9/+19
|
* Add some missing (void)'sTavian Barnes2022-01-181-1/+1
|
* Don't truncate files until we know they're not duplicatesTavian Barnes2021-09-261-0/+1
|
* util: New xfopen() utilityTavian Barnes2021-09-211-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 itTavian Barnes2021-09-151-27/+20
|
* util: New xconfstr() wrapperTavian Barnes2021-06-131-0/+19
|
* util: Tweak the safe read/write functionsTavian Barnes2021-04-151-40/+31
|
* util: add safe_read_all() and safe_write_all() functions.Markus F.X.J. Oberhumer2021-04-151-0/+35
|
* util: introduce safe versions of read & write that handle interruptedMarkus F.X.J. Oberhumer2021-04-151-0/+20
| | | | systems calls.
* util: Fix build on GNU HurdTavian Barnes2021-03-211-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 BSDsTavian Barnes2021-03-061-0/+30
|
* Update copyright datesTavian Barnes2021-02-051-1/+1
|
* dir: New DIR* facadeTavian Barnes2021-01-281-18/+0
|
* util: Use fgetc(stdin) instead of getchar()Tavian Barnes2020-11-301-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 useTavian Barnes2020-11-121-1/+1
| | | | Thanks to https://github.com/include-what-you-use/include-what-you-use
* Enable -Wsign-compare to catch bugs like 726d7801Tavian Barnes2020-11-041-1/+1
|
* util: Move redirect() and isopen() to main.cTavian Barnes2020-10-011-28/+0
|
* util: Don't rely on bftwTavian Barnes2020-09-301-37/+36
| | | | And rename format_mode() to xstrmode() while I'm at it.
* util: Make the initial allocation bigger for xreadlinkat()Tavian Barnes2020-09-181-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 bitmaskTavian Barnes2020-07-291-1/+1
|
* time: Split out time-related functions from utilTavian Barnes2020-02-131-86/+0
|
* parse: Handle 1969-12-31T23:59:59ZTavian Barnes2020-02-131-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 Barnes2020-02-111-0/+54
|
* Update copyright datesTavian Barnes2020-01-071-1/+1
|
* util: Support ports and whiteouts in format_mode()Tavian Barnes2020-01-071-3/+13
|
* util: Filter out . and .. in xreaddir()Tavian Barnes2019-06-251-6/+14
|
* Turn on -Wstrict-prototypesTavian Barnes2019-02-061-1/+1
|
* main: Fix closed standard stream handlingTavian Barnes2019-02-011-7/+3
| | | | | bfs >&- should complain about a missing file descriptor, rather than silently succeeding.
* posix1e: Split out ACL and capability handling from utilTavian Barnes2019-01-021-168/+0
|
* 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
|
* Implement -acl testTavian Barnes2018-12-171-1/+71
|
* color: Support coloring files with capabilitiesTavian Barnes2018-12-171-0/+93
|
* bftw: Move bftw_typeflag conversion out of utilTavian Barnes2018-12-171-98/+1
| | | | Turns out incomplete enum types are a GNU C extension.
* Check for <sys/param.h> before including itTavian Barnes2018-11-081-3/+7
| | | | Fixes #38.
* util: Provide fallback implementations of makedev()/major()/minor()Tavian Barnes2018-11-021-0/+14
|
* util: Wrap __has_include()Tavian Barnes2018-11-011-1/+1
|
* Print device major/minor numbers for -lsTavian Barnes2018-11-011-0/+16
|
* Update copyright datesTavian Barnes2018-09-241-1/+1
|
* 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.