From 1467054baeaa05668129ef491be6ac1b3b82d80d Mon Sep 17 00:00:00 2001 From: fardragon Date: Sat, 27 Jun 2026 11:28:21 +0200 Subject: [PATCH] In newline detection handle files that contain newlines, but don't end in one --- lib/compiler/Maker/Step/ConfigHeader.zig | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/compiler/Maker/Step/ConfigHeader.zig b/lib/compiler/Maker/Step/ConfigHeader.zig index f0c2d27b371eb4fed9e701d6377b5206ba31773a..e0fde54d54b88297e7033627da8a39d3f895ae6a 100644 --- a/lib/compiler/Maker/Step/ConfigHeader.zig +++ b/lib/compiler/Maker/Step/ConfigHeader.zig @@ -163,12 +163,8 @@ fn ensureAllValuesUsed( } fn detectNewline(contents: []const u8) []const u8 { - return if (std.mem.endsWith(u8, contents, "\r\n")) - "\r\n" - else if (std.mem.endsWith(u8, contents, "\n")) - "\n" - else - os_newline; + const lf_index = std.mem.findScalar(u8, contents, '\n') orelse return os_newline; + return if (lf_index > 0 and contents[lf_index - 1] == '\r') "\r\n" else "\n"; } fn renderAutoConfUndef( -- 2.54.0