Rewrite string_format function #22

This commit is contained in:
Vasily Evseenko 2018-11-15 09:23:48 +03:00
parent 2581901a2e
commit 86de92babd

View File

@ -15,8 +15,11 @@ string string_format(const char *format, ...)
va_list args;
va_start(args, format);
size_t size = vsnprintf(nullptr, 0, format, args) + 1; // Extra space for '\0'
unique_ptr<char[]> buf(new char[ size ]);
va_end(args);
unique_ptr<char[]> buf(new char[size]);
va_start(args, format);
vsnprintf(buf.get(), size, format, args);
va_end(args);
return string(buf.get(), buf.get() + size - 1); // We don't want the '\0' inside
}