Reserve format capacity

This commit is contained in:
Kampfkarren 2022-07-28 17:56:28 -07:00
parent d4dce498f7
commit 90f7bf6f72

View file

@ -1482,7 +1482,14 @@ struct Compiler
void compileExprInterpString(AstExprInterpString* expr, uint8_t target, bool targetTemp)
{
size_t formatCapacity = 0;
for (AstArray<char> string : expr->strings)
{
formatCapacity += string.size + std::count(string.data, string.data + string.size, '%');
}
std::string formatString;
formatString.reserve(formatCapacity);
size_t stringsLeft = expr->strings.size;