-A (WIP) collection of portable, strict C99, single-header implementations of common libc extensions.
+A (WIP) collection of portable, (mostly) strict C99, single-header implementations of common libc extensions.
### How to
Include the header in every file needed as usual:
```
-#include "<ext-func-name.h>"
+#include "<ext-func-name>.h"
```
In the file chosen for the function implementation:
```
-#define <EXT-FUNC-NAME>_IMPLEMENTATION_
+#define <EXT-FUNC-NAME>_IMPLEMENTATION
#include "<ext-func-name.h>"
```
-By default, the header won't have any includes, change that with:
+By default, the header won't have any stdlib includes, change that with:
```
-#define <EXT-FUNC-NAME>_INCLUDE_LIBC_
+#define <EXT-FUNC-NAME>_INCLUDE_LIBC
```
Or disable function override with:
```
#define HAVE_<EXT-FUNC-NAME>
```
+
+## Specifics
+
+### getopt\_long
+
+`getopt_long.h` has additional macros related to argument
+permuting, defining those enables it (GNU behaviour):
+
+```
+#define GETOPT_PERMUTE_ARGS
+#define GETOPT_LONG_PERMUTE_ARGS
+#define GETOPT_LONG_ONLY_PERMUTE_ARGS
+```