commit bc7955306e3480fc065277d0b6c5abb6797a27ae (tree)
parent 1ec8a7ab4c5346839ee9aa002aadee91d72903fe
Author: Ryan Liptak <squeek502@hotmail.com>
Date: Thu, 28 Aug 2025 04:20:35 -0700
Fix `-M` and `--dep` splitting on every = instead of just the first
Before this commit, -Mfoo=bar=baz would be incorrectly split into mod_name: `foo` and root_src_orig: `bar`
After this commit, -Mfoo=bar=baz will be correctly split into mod_name: `foo` and root_src_orig: `bar=baz`
Closes #25059
Diffstat:
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main.zig b/src/main.zig
@@ -1060,8 +1060,8 @@ fn buildOutputType(
}
} else if (mem.eql(u8, arg, "--dep")) {
var it = mem.splitScalar(u8, args_iter.nextOrFatal(), '=');
- const key = it.next().?;
- const value = it.next() orelse key;
+ const key = it.first();
+ const value = if (it.peek() != null) it.rest() else key;
if (mem.eql(u8, key, "std") and !mem.eql(u8, value, "std")) {
fatal("unable to import as '{s}': conflicts with builtin module", .{
key,
@@ -1080,8 +1080,8 @@ fn buildOutputType(
});
} else if (mem.startsWith(u8, arg, "-M")) {
var it = mem.splitScalar(u8, arg["-M".len..], '=');
- const mod_name = it.next().?;
- const root_src_orig = it.next();
+ const mod_name = it.first();
+ const root_src_orig = if (it.peek() != null) it.rest() else null;
try handleModArg(
arena,
mod_name,