diff --git a/Compiler/src/Compiler.cpp b/Compiler/src/Compiler.cpp index 5f710a4c..53f51b4a 100644 --- a/Compiler/src/Compiler.cpp +++ b/Compiler/src/Compiler.cpp @@ -1482,7 +1482,14 @@ struct Compiler void compileExprInterpString(AstExprInterpString* expr, uint8_t target, bool targetTemp) { + size_t formatCapacity = 0; + for (AstArray 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;