| ... | @@ -177,16 +177,18 @@ fn renderAutoConfUndef( | ... | @@ -177,16 +177,18 @@ fn renderAutoConfUndef( |
| 177 | var line_index: u32 = 0; | 177 | var line_index: u32 = 0; |
| 178 | var line_it = std.mem.splitScalar(u8, contents, '\n'); | 178 | var line_it = std.mem.splitScalar(u8, contents, '\n'); |
| 179 | while (line_it.next()) |line| : (line_index += 1) { | 179 | while (line_it.next()) |line| : (line_index += 1) { |
| | 180 | const last_line = line_it.index == line_it.buffer.len; |
| | 181 | |
| 180 | if (!std.mem.startsWith(u8, line, "#")) { | 182 | if (!std.mem.startsWith(u8, line, "#")) { |
| 181 | try w.writeAll(line); | 183 | try w.writeAll(line); |
| 182 | try w.writeByte('\n'); | 184 | if (!last_line) try w.writeByte('\n'); |
| 183 | continue; | 185 | continue; |
| 184 | } | 186 | } |
| 185 | var it = std.mem.tokenizeAny(u8, line[1..], " \t\r"); | 187 | var it = std.mem.tokenizeAny(u8, line[1..], " \t\r"); |
| 186 | const undef = it.next().?; | 188 | const undef = it.next().?; |
| 187 | if (!std.mem.eql(u8, undef, "undef")) { | 189 | if (!std.mem.eql(u8, undef, "undef")) { |
| 188 | try w.writeAll(line); | 190 | try w.writeAll(line); |
| 189 | try w.writeByte('\n'); | 191 | if (!last_line) try w.writeByte('\n'); |
| 190 | continue; | 192 | continue; |
| 191 | } | 193 | } |
| 192 | const name = it.next().?; | 194 | const name = it.next().?; |