X-Git-Url: https://git.datadissipation.net/libcext/blobdiff_plain/fd4273e5b7249057309c65c78ec1bd766bed03fe..5677abe79fa7c55501bc1fb545caf30cf5fda34c:/README.md diff --git a/README.md b/README.md index 46ea40c..a5126fd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -A (WIP) collection of portable, (mostly) strict C99, single-header implementations of common libc extensions. +A (WIP) collection of portable, strict C99, single-header implementations of common libc extensions. + +All functions are implemented as macros expanding to an internal function reference, this allows to use the headers with no meta build system - it compiles even if the extensions are already present, see _How to_ on disabling this behaviour. ### How to @@ -21,21 +23,39 @@ By default, the header won't have any stdlib includes, change that with: #define _INCLUDE_LIBC ``` -Or disable function override with: +Or disable function, type and variable override with: ``` #define HAVE_ ``` -## Specifics +### Specifics + +--- + +### asprintf + +includes `vasprintf()` and `asprintf()` + +--- ### getopt\_long +includes `getopt()`, `getsubopt()`, `getopt_long()` and `getopt_long_only()` + `getopt_long.h` has additional macros related to argument -permuting, defining those enables it (GNU behaviour): +permuting, defining those enables it per function (GNU behaviour, can still be disabled at runtime by setting `$POSIXLY_CORRECT`): ``` #define GETOPT_PERMUTE_ARGS #define GETOPT_LONG_PERMUTE_ARGS #define GETOPT_LONG_ONLY_PERMUTE_ARGS ``` + +--- + +### strlcat + +includes `strlcat()` and `strlcpy()` + +---