aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Build/Step/ConfigHeader.zig
diff options
context:
space:
mode:
authorMrDmitry <aidenhaledev@gmail.com>2024-01-21 03:16:09 -0500
committerMrDmitry <aidenhaledev@gmail.com>2024-01-21 03:16:09 -0500
commit2dfec13ef08e0b47f0d80d599fb8552438e9e37a (patch)
tree69438f4663bc7bd86d39a68f5b8a59feea36a459 /lib/std/Build/Step/ConfigHeader.zig
parent2e7d28dd0d27d94945ac5f131d7f7b4e03bc0024 (diff)
downloadzig-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.zig8
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;