authorgravatar for michaldrozd@protonmail.chfardragon <michaldrozd@protonmail.ch> 2026-06-27 11:28:21+02:00
committergravatar for michaldrozd@protonmail.chfardragon <michaldrozd@protonmail.ch> 2026-06-27 11:28:21+02:00
log1467054baeaa05668129ef491be6ac1b3b82d80d
tree27b25dd310880c04772d5e0699faed3646be38e6
parentf05ceb6aa1a29c0d40c43d2bc3138f96324a58b5

In newline detection handle files that contain newlines, but don't end in one


1 files changed, 2 insertions(+), 6 deletions(-)

lib/compiler/Maker/Step/ConfigHeader.zig+2-6
...@@ -163,12 +163,8 @@ fn ensureAllValuesUsed(...@@ -163,12 +163,8 @@ fn ensureAllValuesUsed(
163}163}
164164
165fn detectNewline(contents: []const u8) []const u8 {165fn detectNewline(contents: []const u8) []const u8 {
166 return if (std.mem.endsWith(u8, contents, "\r\n"))166 const lf_index = std.mem.findScalar(u8, contents, '\n') orelse return os_newline;
167 "\r\n"167 return if (lf_index > 0 and contents[lf_index - 1] == '\r') "\r\n" else "\n";
168 else if (std.mem.endsWith(u8, contents, "\n"))
169 "\n"
170 else
171 os_newline;
172}168}
173169
174fn renderAutoConfUndef(170fn renderAutoConfUndef(