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"
```

In the file chosen for the function implementation:

```
#define <EXT-FUNC-NAME>_IMPLEMENTATION
#include "<ext-func-name.h>"
```

By default, the header won't have any stdlib includes, change that with:

```
#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
```
