~donmcc/astr

Build on Debian with the address sanitizer enabled.

Add `-fsanitize=address -g` to `CFLAGS` and `-fsanitize=address` to
`LDFLAGS` when configuring the build.
Add functions for centering text in a given width.

The functions `astr_alloc_centered_formatted()` and
`astr_alloc_centered_formatted_from_va_list()` allocate a new string
using the given format string and variable arguments and centers the
formatted output in the given width.
Minimize #includes in "astr.h".

Drop "stdlib.h" and "string.h" from "astr.h" and include "stddef.h"
instead.  Add them back to .c files where needed.
"Un-inline" functions.

Address build errors by converting inline functions
`astr_alloc_empty()`, etc into regular functions.

The Debian build was failing with "undefined reference to
`astr_alloc_empty'" errors while the FreeBSD and OpenBSD builds were
giving errors "ld: error: duplicate symbol: astr_alloc_empty".

Stick to plain old functions for now and figure out what I'm doing wrong
with inline functions later.
Remove "extern" declarations of inline functions.

The FreeBSD and OpenBSD builds are giving "ld: error: duplicate symbol:"
errors for the inline functions `astr_alloc_empty()`, etc defined in
`astr.h`.  Remove the "extern" declarations of these functions in
`astr.c`.
Fix two causes of build failures.

Fix "unused function 'test_astr_realloc_append_formatted'" error by
calling the function in the test.

Fix package installation error on OpenBSD by installing the latest
`automake`.
Remove `-Wall -Werror` flags from `configure.ac`.

These flags really shouldn't be part of the distributed build system.
Instead, specify `CFLAGS='-Wall -Werror'` when configuring the build for
local development and for continuous integration.
Force OpenBSD build to use LLVM instead of GCC.

Set `CC` to `cc` when configuring the project.
Fix inlineing error in OpenBSD build.

Add `AC_C_INLINE` to the `configure.ac` script.
Install automake package on Debian Linux build.
Install exact autoconf & automake packages on OpenBSD.

Specify the exact version numbers for these packages.
Adding environment variables for OpenBSD build.

Define the `AUTOCONF_VERSION` and `AUTOMAKE_VERSION` environment variables.
Added build for `openbsd/latest`.
Remove `const` from `va_list` parameters.

For FreeBSD compatibility, remove the `const` qualifier from various
`va_list` parameters.
Add missing `const` to function signatures in docs.

Update the readme file and man page to incorporate the function
signature changes in the previous commit (5ed773f).
Make `va_list` parameters `const`.

The functions `astr_formatted_length_from_va_list()`,
`astr_realloc_append_formatted_from_va_list()` and
`astr_alloc_formatted_from_va_list()` are already defensively copying
their `va_list` parameters, so make these parameters `const` to
communicate this.
Made `astr_alloc_formatted_from_va_list()` inline.

Moved definition into the header and added `extern` declaration to the
`.c` file.
Reimplement `astr_alloc_formatted_from_va_list()`.

Drop the need to call `vasprintf()` and change the implementation of
`astr_alloc_formatted_from_va_list()` to call
`astr_realloc_append_formatted_from_va_list()` with a `NULL` string
pointer.

Update the readme and man page and remove the check for `vasprintf()`
from the configure script.
Added a better overview section.

Updated both the readme file and the man page.
Stop generating the `config.h` header.

Remove the line:

    AC_CONFIG_HEADERS([config.h])

from `configure.ac` to suppress the generation of the unused `config.h`
header and speed up configuration.
Next