From f3d2544b18fe8267edaba97474033782f7da3f40 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sat, 24 Jan 2026 05:53:02 +0300 Subject: open_memstream -> tmpfile --- src/parser/parser_stmt.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/parser/parser_stmt.c') diff --git a/src/parser/parser_stmt.c b/src/parser/parser_stmt.c index 73ae249..a4c24c9 100644 --- a/src/parser/parser_stmt.c +++ b/src/parser/parser_stmt.c @@ -1413,10 +1413,15 @@ char *process_printf_sugar(ParserContext *ctx, const char *content, int newline, { char *inner_c = NULL; size_t len = 0; - FILE *ms = open_memstream(&inner_c, &len); + FILE *ms = tmpfile(); if (ms) { codegen_expression(ctx, expr_node, ms); + len = ftell(ms); + fseek(ms, 0, SEEK_SET); + inner_c = xmalloc(len + 1); + fread(inner_c, 1, len, ms); + inner_c[len] = 0; fclose(ms); } @@ -1443,10 +1448,15 @@ char *process_printf_sugar(ParserContext *ctx, const char *content, int newline, { char *buf = NULL; size_t len = 0; - FILE *ms = open_memstream(&buf, &len); + FILE *ms = tmpfile(); if (ms) { codegen_expression(ctx, expr_node, ms); + len = ftell(ms); + fseek(ms, 0, SEEK_SET); + buf = xmalloc(len + 1); + fread(buf, 1, len, ms); + buf[len] = 0; fclose(ms); rw_expr = buf; used_codegen = 1; -- cgit v1.2.3