diff options
| author | MrDmitry <aidenhaledev@gmail.com> | 2024-01-21 03:16:09 -0500 |
|---|---|---|
| committer | MrDmitry <aidenhaledev@gmail.com> | 2024-01-21 03:16:09 -0500 |
| commit | 2dfec13ef08e0b47f0d80d599fb8552438e9e37a (patch) | |
| tree | 69438f4663bc7bd86d39a68f5b8a59feea36a459 /lib/std/Build/Step/ConfigHeader.zig | |
| parent | 2e7d28dd0d27d94945ac5f131d7f7b4e03bc0024 (diff) | |
| download | zig-2dfec13ef08e0b47f0d80d599fb8552438e9e37a.tar.gz zig-2dfec13ef08e0b47f0d80d599fb8552438e9e37a.zip | |
Fix last_index after variable substitution
Iterative passes should start at the end of the previous substitution
Diffstat (limited to 'lib/std/Build/Step/ConfigHeader.zig')
| -rw-r--r-- | lib/std/Build/Step/ConfigHeader.zig | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/std/Build/Step/ConfigHeader.zig b/lib/std/Build/Step/ConfigHeader.zig index 59b8f610a2..44d387f524 100644 --- a/lib/std/Build/Step/ConfigHeader.zig +++ b/lib/std/Build/Step/ConfigHeader.zig @@ -537,7 +537,7 @@ fn replace_variables( switch (value) { .boolean => |b| { const buf = try std.fmt.allocPrint(allocator, "{s}{}{s}", .{ beginline, @intFromBool(b), endline }); - last_index = start_index + 1; + last_index = prefix_index + 1; allocator.free(content_buf); content_buf = buf; @@ -546,14 +546,14 @@ fn replace_variables( const buf = try std.fmt.allocPrint(allocator, "{s}{}{s}", .{ beginline, i, endline }); const isNegative = i < 0; const digits = (if (0 < i) std.math.log10(@abs(i)) else 0) + 1; - last_index = start_index + @intFromBool(isNegative) + digits + 1; + last_index = prefix_index + @intFromBool(isNegative) + digits; allocator.free(content_buf); content_buf = buf; }, .string, .ident => |x| { const buf = try std.fmt.allocPrint(allocator, "{s}{s}{s}", .{ beginline, x, endline }); - last_index = start_index + x.len + 1; + last_index = prefix_index + x.len; allocator.free(content_buf); content_buf = buf; @@ -561,7 +561,7 @@ fn replace_variables( else => { const buf = try std.fmt.allocPrint(allocator, "{s}{s}", .{ beginline, endline }); - last_index = start_index + 1; + last_index = prefix_index; allocator.free(content_buf); content_buf = buf; |
