snprintf3(3) provided as a replacement so programs can maintain ANSI C compliance

Other Alias



#include <firestring.h>

long firestring_snprintf(char * out, const size_t size, const char * const format, ...)


firestring_snprintf() writes a maximum of size bytes to out based on the formatting rules specified in format and the further arguments provided.

As snprintf(3) is not a ANSI C function, firestring_snprintf() is provided as a replacement for programs wishing to maintain ANSI C compliance. It acts much like snprintf(3), except that it only uses single-letter format tags, and only supports a subset of the common formats.

Formats supported:
%s - char *
%d - int
%l - long
%u - unsigned int
%y - unsigned long
%g - signed long long
%o - unsigned long long
%f - double
%t - time_t (printed in ISO format)
%e - struct firestring_estr_t *

The %s type handles NULL values by displaying the string "(null)". All numeric types support zero padding through the standard %02d format.


Returns the number of bytes written to out not including the trailing nil.


Ian Gulliver <[email protected]>