From 043bdf567756e6a30dd1e62bef10607d28a3db91 Mon Sep 17 00:00:00 2001 From: Olly Betts Date: Wed, 19 Apr 2023 14:52:40 +1200 Subject: Copy over missing parts of macro expansion code We need to insert newlines for a multi-line macro invocation, and we shouldn't leak memory. --- Source/Preprocessor/cpp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/Preprocessor/cpp.c b/Source/Preprocessor/cpp.c index b9ce54361..55058fc13 100644 --- a/Source/Preprocessor/cpp.c +++ b/Source/Preprocessor/cpp.c @@ -1297,9 +1297,14 @@ static DOH *Preprocessor_replace(DOH *s, DOH *line_file) { args = 0; } e = expand_macro(id, args, s); - if (e) + if (e) { Append(ns, e); + } + while (macro_additional_lines--) { + Putc('\n', ns); + } Delete(e); + Delete(args); } else { Append(ns, id); } -- cgit v1.2.1