Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | prelude: Split bfs-specific utilities into new bfs.h header | Tavian Barnes | 2024-08-28 | 1 | -0/+3 |
| | |||||
* | Replace some switch-case lookups with arrays | Tavian Barnes | 2024-06-05 | 1 | -1/+1 |
| | |||||
* | stat: Support __st_birthtim on OpenBSD | Tavian Barnes | 2024-05-16 | 1 | -0/+3 |
| | |||||
* | stat: Remove __GNU__ guard | Tavian Barnes | 2024-05-07 | 1 | -1/+1 |
| | | | | | The number of people running bfs on Hurd with an outdated glibc version is vanishingly small (I hope). | ||||
* | stat: Prefer fstat(fd) to fstatat(fd, "", AT_EMPTY_PATH) | Tavian Barnes | 2024-05-07 | 1 | -19/+13 |
| | | | | | | | | | This lets us get rid of the runtime probe for AT_EMPTY_PATH support, and should be more efficient anyway. We still use statx(fd, "", AT_EMPTY_PATH) if available. Link: https://lore.kernel.org/linux-fsdevel/CAHk-=wiYnnv7Kw7v+Cp2xU6_Fd-qxQMZuuxZ61LgA2=Gtftw-A@mail.gmail.com/ | ||||
* | config: Check for struct stat::st_flags | Tavian Barnes | 2024-04-19 | 1 | -1/+1 |
| | |||||
* | config: Check for struct stat::st_{a,c,m,birth}{tim,timespec} | Tavian Barnes | 2024-04-19 | 1 | -4/+7 |
| | |||||
* | config: Check for statx() | Tavian Barnes | 2024-04-19 | 1 | -2/+2 |
| | |||||
* | Rename config.h to prelude.h | Tavian Barnes | 2024-04-19 | 1 | -1/+1 |
| | |||||
* | stat: Use errno_is_like(ENOSYS) for EPERM kludge | Tavian Barnes | 2024-02-28 | 1 | -3/+1 |
| | |||||
* | stat: Pack struct bfs_stat a bit | Tavian Barnes | 2024-02-14 | 1 | -11/+8 |
| | |||||
* | stat: Expose bfs_{fstatat,statx}_flags() | Tavian Barnes | 2024-01-18 | 1 | -21/+37 |
| | |||||
* | stat: Expose bfs_stat{,x}_convert() | Tavian Barnes | 2024-01-18 | 1 | -95/+88 |
| | |||||
* | bfstd: New {error,errno}_is_like() functions | Tavian Barnes | 2024-01-13 | 1 | -1/+1 |
| | | | | | | | We used to have is_nonexistence_error() to consistently treat ENOENT and ENOTDIR the same. Recently, we started considering EFAULT the same as ENAMETOOLONG on DragonFly BSD to work around a kernel bug. Unify both of these behind a more generic interface. | ||||
* | Formatting fixes | Tavian Barnes | 2023-09-27 | 1 | -1/+1 |
| | |||||
* | stat: Don't check for statx() mask bits we already checked for | Tavian Barnes | 2023-08-07 | 1 | -31/+15 |
| | |||||
* | Unify macro naming conventions | Tavian Barnes | 2023-06-24 | 1 | -7/+9 |
| | | | | | In particular, macros that decide whether to use a particular API/ dependency should be spelled BFS_USE_*, and should be configurable. | ||||
* | stat: Make syscall support checks thread-safe | Tavian Barnes | 2023-06-12 | 1 | -6/+7 |
| | |||||
* | sanity: Add wrappers for sanitizer interfaces | Tavian Barnes | 2023-05-25 | 1 | -8/+10 |
| | |||||
* | Use bfs_bug("...") over assert(!"...") | Tavian Barnes | 2023-05-18 | 1 | -3/+3 |
| | |||||
* | Use SYS_* instead of __NR_* | Tavian Barnes | 2023-05-16 | 1 | -2/+2 |
| | |||||
* | config: Provide <stdalign.h> and <stdbool.h> | Tavian Barnes | 2023-05-11 | 1 | -1/+0 |
| | | | | In anticipation of C23, since those headers won't be necessary any more. | ||||
* | style: Don't use tabs to indent preprocessor directives | Tavian Barnes | 2023-05-03 | 1 | -5/+5 |
| | |||||
* | Replace license boilerplate with SPDX tags | Tavian Barnes | 2023-01-25 | 1 | -15/+2 |
| | | | | | | | And while I'm at it, remove years from copyright declarations. Link: https://spdx.dev/about/ Link: https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/ | ||||
* | tests/xtouch: Add some missing POSIX touch features | Tavian Barnes | 2022-11-08 | 1 | -7/+0 |
| | |||||
* | bfstd: Rename from util and reorganize it | Tavian Barnes | 2022-11-06 | 1 | -3/+3 |
| | |||||
* | config: Split out some of util.h into a new header | Tavian Barnes | 2022-11-06 | 1 | -4/+1 |
| | |||||
* | util: Get rid of BFS_HAS_INCLUDE() wrapper for __has_include() | Tavian Barnes | 2022-11-06 | 1 | -1/+1 |
| | | | | | | | | | Since __has_include() needs special preprocessing rules (e.g. not expanding `linux` in `__has_include(<linux/stat.h>)`, macros that expand to __has_include() do not necessarily behave correctly. Instead, we have to directly test `#if __has_include(...)`. See https://bugs.llvm.org/show_bug.cgi?id=37990 for more details. | ||||
* | util: Use fewer BFS_*() wrappers for feature testing | Tavian Barnes | 2022-11-06 | 1 | -2/+2 |
| | |||||
* | stat: Check Android API level for statx() support | Tavian Barnes | 2022-10-18 | 1 | -1/+1 |
| | | | | | | Bionic's <sys/stat.h> can define STATX_BASIC_STATS without declaring statx() on lower API levels, so explicitly check for the version it was added in. | ||||
* | stat: Don't pass AT_NO_AUTOMOUNT on GNU Hurd before glibc 2.35 | Tavian Barnes | 2022-05-29 | 1 | -1/+1 |
| | | | | | Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=hurd-i386&ver=2.6-1&stamp=1653764526 Link: https://sourceware.org/git/?p=glibc.git;a=commit;h=13710e7e6af6c8965cc9a63a0660cb4ce1966557 | ||||
* | stat: Pass AT_NO_AUTOMOUNT if possible | Tavian Barnes | 2022-05-12 | 1 | -0/+4 |
| | | | | | Previously bfs would trigger automounts even when it didn't descend into the mount directory, while GNU find does not. | ||||
* | stat: Keep statx()-specific flags separate | Tavian Barnes | 2022-05-12 | 1 | -8/+9 |
| | | | | | Previously, if statx() was unsupported at runtime, we could end up passing AT_STATX_DONT_SYNC to fstatat() which doesn't expect it. | ||||
* | stat: Factor the BFS_STAT_TRYFOLLOW retry logic out | Tavian Barnes | 2022-05-12 | 1 | -30/+25 |
| | |||||
* | stat: Rename some feature detection macros | Tavian Barnes | 2022-05-12 | 1 | -8/+8 |
| | |||||
* | Source / Include Folder (#88) | トトも | 2022-04-16 | 1 | -0/+376 |
Moved Source Files Into `src` Folder |