libfirestring is a string handling library that provides
maximum length aware string handling functions to programs.
Several functions provide saner interfaces than the standard
libc functions. libfirestring also provides functions that
are in most libc's but not provided for by ANSI C, enabling
programmers to write ANSI C-compliant code while using such
safe functions (strcasecmp, strncasecmp, snprintf).
libfirestring provides a set of functions for dealing with
EStrings. EStrings are binary-safe objects that, when used
with the firestring functions, are overflow safe, because
they include allocated memory size information with them.
libfirestring also includes functions for dealing with
reading configuration files in an easy to program fashion.
Starting-letter keys (for String and EString functions):
n
Length-safe (takes a
size
argument)
e
EString (length-safe and binary-safe, takes a
struct firestring_estr_t
argument)
i
Case-insensitive
a
Automatically expands EString to correct size
(possible memory DoS attack in some cases)
s
Writes into a provided instead of to a stream
f
Writes into a specified stream instead of to standard output