2022-11-04 23:30:55 +01:00
|
|
|
#include "update-helpers.hpp"
|
2022-07-31 18:04:55 +02:00
|
|
|
|
|
|
|
#include <stdarg.h>
|
|
|
|
|
|
|
|
std::string vstrprintf(const char *format, va_list args)
|
|
|
|
{
|
2022-08-25 05:23:13 +02:00
|
|
|
va_list args2;
|
|
|
|
|
2022-07-31 18:04:55 +02:00
|
|
|
if (!format)
|
|
|
|
return std::string();
|
|
|
|
|
2022-08-25 05:23:13 +02:00
|
|
|
va_copy(args2, args);
|
|
|
|
|
2022-07-31 18:04:55 +02:00
|
|
|
std::string str;
|
2022-08-25 05:23:13 +02:00
|
|
|
int size = (int)vsnprintf(nullptr, 0, format, args2) + 1;
|
2022-07-31 18:04:55 +02:00
|
|
|
str.resize(size);
|
2022-09-10 08:25:31 +02:00
|
|
|
vsnprintf(&str[0], size, format, args);
|
2022-08-25 05:23:13 +02:00
|
|
|
|
|
|
|
va_end(args2);
|
|
|
|
|
2022-07-31 18:04:55 +02:00
|
|
|
return str;
|
|
|
|
}
|
|
|
|
|
|
|
|
std::string strprintf(const char *format, ...)
|
|
|
|
{
|
|
|
|
va_list args;
|
|
|
|
|
|
|
|
va_start(args, format);
|
2022-08-25 05:23:13 +02:00
|
|
|
std::string str;
|
2022-07-31 18:04:55 +02:00
|
|
|
str = vstrprintf(format, args);
|
|
|
|
va_end(args);
|
|
|
|
|
|
|
|
return str;
|
|
|
|
}
|