1 A (WIP) collection of portable, strict C99, single-header implementations of common libc extensions.
5 Include the header in every file needed as usual:
8 #include "<ext-func-name>.h"
11 In the file chosen for the function implementation:
14 #define <EXT-FUNC-NAME>_IMPLEMENTATION
15 #include "<ext-func-name.h>"
18 By default, the header won't have any stdlib includes, change that with:
21 #define <EXT-FUNC-NAME>_INCLUDE_LIBC
24 Or disable function, type and variable override with:
27 #define HAVE_<EXT-FUNC-NAME>
36 includes
`vasprintf()` and
`asprintf()`
42 includes
`getopt()`,
`getsubopt()`,
`getopt_long()` and
`getopt_long_only`
44 `getopt_long.h` has additional macros related to argument
45 permuting, defining those enables it (GNU behaviour, will still be disabled with
`$POSIXLY_CORRECT` set):
48 #define GETOPT_PERMUTE_ARGS
49 #define GETOPT_LONG_PERMUTE_ARGS
50 #define GETOPT_LONG_ONLY_PERMUTE_ARGS