-static inline int
-util_vsnprintf(char *str, size_t size, const char *format, va_list ap)
-{
- /* We need to use _vscprintf to calculate the length as vsnprintf returns -1
- * if the number of characters to write is greater than count.
- */
- va_list ap_copy;
- int ret;
- va_copy(ap_copy, ap);
- ret = _vsnprintf(str, size, format, ap);
- if (ret < 0) {
- ret = _vscprintf(format, ap_copy);
- }
- return ret;
-}
-
-static inline int
- PRINTFLIKE(3, 4)
-util_snprintf(char *str, size_t size, const char *format, ...)
-{
- va_list ap;
- int ret;
- va_start(ap, format);
- ret = util_vsnprintf(str, size, format, ap);
- va_end(ap);
- return ret;
-}
-
-static inline void
-util_vsprintf(char *str, const char *format, va_list ap)
-{
- util_vsnprintf(str, (size_t)-1, format, ap);
-}
-