summaryrefslogtreecommitdiffstats
path: root/src/bfstd.h
Commit message (Collapse)AuthorAgeFilesLines
* build: Move feature test macros to prelude.hTavian Barnes2024-08-281-2/+0
| | | | | | This replaces the explicit CPPFLAGS list in flags.mk with just `-include src/prelude.h`, shortening our compiler command lines and allowing them to be easily documented.
* prelude: Split bfs-specific utilities into new bfs.h headerTavian Barnes2024-08-281-0/+3
|
* prelude: Define __SANITIZE_*__Tavian Barnes2024-08-281-2/+1
|
* bfstd: New sysoption() macro to check for POSIX option runtime supportTavian Barnes2024-08-091-0/+13
| | | | | | | | | | POSIX allows optional features to be supported at compile time but not necessarily at run time by defining _POSIX_OPTION to 0 and requiring users to check sysconf(_SC_OPTION) > 0. The new sysoption() macro simplifies the check. sighook() and bfs_spawn() now check for conditional runtime support for the relevant POSIX options.
* Minor formatting fixesTavian Barnes2024-06-061-1/+1
|
* bfstd: New xstrtoll() wrapperTavian Barnes2024-06-041-0/+17
|
* bfstd: New helper for open(ctermid())Tavian Barnes2024-05-251-0/+10
|
* Stop using %mTavian Barnes2024-05-201-0/+5
|
* Work around https://github.com/llvm/llvm-project/issues/88163Tavian Barnes2024-05-161-0/+5
|
* config: Check for struct stat::st_{a,c,m,birth}{tim,timespec}Tavian Barnes2024-04-191-5/+15
|
* Rename config.h to prelude.hTavian Barnes2024-04-191-1/+1
|
* bfstd: New asciilen() functionTavian Barnes2024-03-211-0/+15
|
* ioq: Use the negative errno conventionTavian Barnes2024-01-131-0/+10
|
* bfstd: New {error,errno}_is_like() functionsTavian Barnes2024-01-131-2/+16
| | | | | | | 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.
* bfstd: New xwcwidth() wrapperTavian Barnes2023-12-161-0/+5
|
* bfstd: Wrap is[w]{alpha,digit,...}()Tavian Barnes2023-12-091-0/+50
|
* bfstd: Expose rlim_cmp()Tavian Barnes2023-11-061-0/+7
|
* bfstd: New xwaitpid() wrapperTavian Barnes2023-10-311-0/+7
|
* bfstd: Expose xmbrtowc() and use it in eval_status()Tavian Barnes2023-10-271-1/+18
|
* bfstd: Add a thread-safe wrapper for strerror()Tavian Barnes2023-10-051-0/+11
|
* bfstd: Support wordesc() without allocatingTavian Barnes2023-07-131-4/+43
|
* wordesc: Also escape non-printable charsTavian Barnes2023-07-061-0/+32
|
* bfstd: Add a getprogname() wrapperTavian Barnes2023-06-241-0/+8
|
* alloc: New header for memory allocation utilitiesTavian Barnes2023-06-201-12/+0
|
* bfstd: New xmemdup() functionTavian Barnes2023-06-201-0/+12
|
* bfstd: New wordesc() function to shell-escape stringsTavian Barnes2023-06-161-0/+13
|
* bfstd: Add an aligned_alloc()/posix_memalign() wrapperTavian Barnes2023-06-141-0/+12
|
* config: Provide <stdalign.h> and <stdbool.h>Tavian Barnes2023-05-111-1/+1
| | | | In anticipation of C23, since those headers won't be necessary any more.
* style: Don't use tabs to indent preprocessor directivesTavian Barnes2023-05-031-16/+16
|
* bfstd: Fix declaration order to match the right standard headersTavian Barnes2023-04-071-42/+42
|
* Replace license boilerplate with SPDX tagsTavian Barnes2023-01-251-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/
* bfstd: Add O_SEARCH/O_EXEC fallbacksTavian Barnes2023-01-221-0/+16
|
* bfstd: New wrappers for dirname()/basename()Tavian Barnes2023-01-191-3/+25
|
* tests/xtouch: Add some missing POSIX touch featuresTavian Barnes2022-11-081-0/+9
|
* Fix includesTavian Barnes2022-11-061-1/+1
|
* bfstd: Rename from util and reorganize itTavian Barnes2022-11-061-0/+234