authorgravatar for michaldrozd@protonmail.chfardragon <michaldrozd@protonmail.ch> 2026-06-04 18:54:43+00:00
committergravatar for michaldrozd@protonmail.chfardragon <michaldrozd@protonmail.ch> 2026-06-05 14:59:18+02:00
log6043fbb2b7f263c0bab308f46f4ef393fec4a678
treedd1806e6079eac5d8393c4cfbb0d742b4aaa9f9a
parentbe18e17ce528f5e4a0cda5f694c8ad13a6b38662

Fix unexpected trailing newline for autconf_undef


3 files changed, 4 insertions(+), 5 deletions(-)

lib/compiler/Maker/Step/ConfigHeader.zig+4-2
......@@ -177,16 +177,18 @@ fn renderAutoConfUndef(
177177 var line_index: u32 = 0;
178178 var line_it = std.mem.splitScalar(u8, contents, '\n');
179179 while (line_it.next()) |line| : (line_index += 1) {
180 const last_line = line_it.index == line_it.buffer.len;
181
180182 if (!std.mem.startsWith(u8, line, "#")) {
181183 try w.writeAll(line);
182 try w.writeByte('\n');
184 if (!last_line) try w.writeByte('\n');
183185 continue;
184186 }
185187 var it = std.mem.tokenizeAny(u8, line[1..], " \t\r");
186188 const undef = it.next().?;
187189 if (!std.mem.eql(u8, undef, "undef")) {
188190 try w.writeAll(line);
189 try w.writeByte('\n');
191 if (!last_line) try w.writeByte('\n');
190192 continue;
191193 }
192194 const name = it.next().?;
test/standalone/config_header/autoconf_undef/config.h-2
......@@ -30,5 +30,3 @@ int foo();
3030// non-#undef # lines pass through unchanged
3131#define KEPT_DEFINE value
3232#include <kept.h>
33// TODO: unexpected newline is being added here
34
test/standalone/config_header/autoconf_undef/config.h.in-1
......@@ -29,4 +29,3 @@ int foo();
2929// non-#undef # lines pass through unchanged
3030#define KEPT_DEFINE value
3131#include <kept.h>
32// TODO: unexpected newline is being added here