snprintf implementations
Overview
// global functions int apr_snprintf( char* buf, apr_size_t len, const char* format, ... ); int apr_vsnprintf( char* buf, apr_size_t len, const char* format, va_list ap );
Detailed Documentation
Warning
These are snprintf implementations based on apr_vformatter().
Note that various standards and implementations disagree on the return value of snprintf, and side-effects due to n in the formatting string. apr_snprintf (and apr_vsnprintf) behaves as follows:
Process the format string until the entire string is exhausted, or the buffer fills. If the buffer fills then stop processing immediately (so no further n arguments are processed), and return the buffer length. In all cases the buffer is NUL terminated. It will return the number of characters inserted into the buffer, not including the terminating NUL. As a special case, if len is 0, apr_snprintf will return the number of characters that would have been inserted if the buffer had been infinite (in this case, *buffer can be NULL)
In no event does apr_snprintf return a negative number.
Global Functions
int apr_snprintf( char* buf, apr_size_t len, const char* format, ... )
snprintf routine based on apr_vformatter. This means it understands the same extensions.
Parameters:
buf |
The buffer to write to |
len |
The size of the buffer |
format |
The format string |
… |
The arguments to use to fill out the format string. |
int apr_vsnprintf( char* buf, apr_size_t len, const char* format, va_list ap )
vsnprintf routine based on apr_vformatter. This means it understands the same extensions.
Parameters:
buf |
The buffer to write to |
len |
The size of the buffer |
format |
The format string |
ap |
The arguments to use to fill out the format string. |