summaryrefslogtreecommitdiffstats
path: root/src/printf.c
Commit message (Collapse)AuthorAgeFilesLines
* build: Move feature test macros to prelude.hTavian Barnes2024-08-281-1/+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: s/fallthru/_fallthrough/ for consistency with other attributesTavian Barnes2024-08-091-1/+1
|
* prelude: Simplify attributesTavian Barnes2024-07-281-3/+3
|
* Replace some switch-case lookups with arraysTavian Barnes2024-06-051-24/+19
|
* bfstd: Treat ELOOP like ENOENTTavian Barnes2024-05-271-1/+1
| | | | | | | GNU findutils just made the same change, so looping symlinks will be considered broken rather than a hard error. Link: https://savannah.gnu.org/bugs/?51926
* printf: The ' ' (space) flag must be numericTavian Barnes2024-05-191-1/+1
|
* printf: Check dynamic format strings more carefullyTavian Barnes2024-04-241-41/+39
|
* printf: Refactor %y/%Y implementationTavian Barnes2024-04-241-23/+17
|
* Rename config.h to prelude.hTavian Barnes2024-04-191-1/+1
|
* printf: Implement %ZTavian Barnes2024-04-101-0/+23
|
* Re-run include-what-you-useTavian Barnes2024-03-111-1/+2
|
* xtime: Call tzset() from main() instead of lazilyTavian Barnes2024-03-071-2/+2
| | | | | | | | | | | | | POSIX specifies[1] that If a thread accesses tzname, daylight, or timezone directly while another thread is in a call to tzset(), or to any function that is required or allowed to set timezone information as if by calling tzset(), the behavior is undefined. So calling it lazily from arbitrary threads is risky. [1]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/tzset.html
* printf: Switch from darray to RESERVE()Tavian Barnes2023-11-231-175/+195
|
* config: Remove BFS_SUPPRESS()Tavian Barnes2023-11-091-4/+14
|
* bfstd: Add a thread-safe wrapper for strerror()Tavian Barnes2023-10-051-1/+1
|
* Formatting fixesTavian Barnes2023-09-271-23/+23
|
* dstring: New dchar typedef for dynamic stringsTavian Barnes2023-09-261-2/+2
|
* color: TTY-escape filenamesTavian Barnes2023-07-131-2/+2
|
* Switch from assert() to bfs_assert()/bfs_verify()Tavian Barnes2023-05-181-3/+2
|
* config: Provide <stdalign.h> and <stdbool.h>Tavian Barnes2023-05-111-1/+0
| | | | In anticipation of C23, since those headers won't be necessary any more.
* config: s/BFS_FALLTHROUGH/fallthru/Tavian Barnes2023-05-101-1/+1
|
* style: Don't use tabs to indent preprocessor directivesTavian Barnes2023-05-031-4/+4
|
* 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/
* mtab: Keep parent dirs open during fill_types()Tavian Barnes2023-01-251-0/+4
|
* Turn on more aggressive format string warningsTavian Barnes2022-12-091-25/+42
|
* pwcache: Fill the user/group caches lazilyTavian Barnes2022-11-091-21/+9
| | | | | | | Iterating all the users/groups can be expensive, especially with NSS. Android has so many that it doesn't even return them all from get{pw,gr}ent() for performance reasons, leading to incorrect behaviour of -user/-group/etc.
* Fix includesTavian Barnes2022-11-061-0/+1
|
* bfstd: Rename from util and reorganize itTavian Barnes2022-11-061-1/+1
|
* Source / Include Folder (#88)トトも2022-04-161-0/+927
Moved Source Files Into `src` Folder