int c_locale_snprintf (char *str, size_t size, const char *format, ...) { int result; va_list ap; va_start(ap, format); result = c_locale_vsnprintf(str, size, format, ap); va_end(ap); return result; }
/** * Appends a string representation of the given number to this StringBuffer * The function snprintf is used to do the conversion and currently n = 42; * i.e. the number will be truncated after 42 characters, regardless of the * buffer size. * * The format argument should be a printf conversion specifier, e.g. "%d", * "%f", "%g", etc. */ LIBSBML_EXTERN void StringBuffer_appendNumber (StringBuffer_t *sb, const char *format, ...) { #ifdef _MSC_VER # define vsnprintf _vsnprintf #endif const int size = 42; int len; va_list ap; StringBuffer_ensureCapacity(sb, size); va_start(ap, format); len = c_locale_vsnprintf(sb->buffer + sb->length, size, format, ap); va_end(ap); sb->length += (len < 0 || len > size) ? size : len; sb->buffer[sb->length] = '\0'; }