diff --git a/vlib/v/gen/cgen.v b/vlib/v/gen/cgen.v index 16137677b1..a2a45c44c9 100644 --- a/vlib/v/gen/cgen.v +++ b/vlib/v/gen/cgen.v @@ -3054,7 +3054,7 @@ fn (mut g Gen) string_inter_literal(node ast.StringInterLiteral) { // TODO: better check this case g.write('${fmt}"PRId32"') } - if i < node.exprs.len - 1 && !g.pref.autofree { + if i < node.exprs.len - 1 { g.write('\\000') } } diff --git a/vlib/v/gen/str.v b/vlib/v/gen/str.v index 50df270911..5ecb8df188 100644 --- a/vlib/v/gen/str.v +++ b/vlib/v/gen/str.v @@ -18,7 +18,7 @@ void _STR_PRINT_ARG(const char *fmt, char** refbufp, int *nbytes, int *memsize, guess = vsnprintf(*refbufp + *nbytes, *memsize - *nbytes, fmt, args); if (guess < *memsize - *nbytes) { // result did fit into buffer *nbytes += guess; - return; + break; } } // increase buffer (somewhat exponentially)