| ... | @@ -73,23 +73,22 @@ pub fn parse(k: FlagDashKind) !std.process.ArgIterator { | ... | @@ -73,23 +73,22 @@ pub fn parse(k: FlagDashKind) !std.process.ArgIterator { |
| 73 | pub fn parseEnv() !void { | 73 | pub fn parseEnv() !void { |
| 74 | const alloc = singles.allocator; | 74 | const alloc = singles.allocator; |
| 75 | | 75 | |
| 76 | for (singles.keys()) |jtem| { | 76 | for (singles.keys(), singles.values()) |k, *v| { |
| 77 | const u = try fixNameForEnv(alloc, jtem); | 77 | const u = try fixNameForEnv(alloc, k); |
| 78 | defer alloc.free(u); | 78 | defer alloc.free(u); |
| 79 | if (std.os.getenv(u)) |value| { | 79 | if (std.os.getenv(u)) |value| { |
| 80 | try singles.put(jtem, value); | 80 | v.* = value; |
| 81 | } | 81 | } |
| 82 | } | 82 | } |
| 83 | for (multis.keys()) |jtem| { | 83 | for (multis.keys(), multis.values()) |k, *v| { |
| 84 | const e = multis.getEntry(jtem).?; | | |
| 85 | var n: usize = 1; | 84 | var n: usize = 1; |
| 86 | while (true) : (n += 1) { | 85 | while (true) : (n += 1) { |
| 87 | const u = try fixNameForEnv(alloc, e.key_ptr.*); | 86 | const u = try fixNameForEnv(alloc, k); |
| 88 | defer alloc.free(u); | 87 | defer alloc.free(u); |
| 89 | const k = try std.fmt.allocPrint(alloc, "{s}_{d}", .{ u, n }); | 88 | const w = try std.fmt.allocPrint(alloc, "{s}_{d}", .{ u, n }); |
| 90 | defer alloc.free(k); | 89 | defer alloc.free(w); |
| 91 | if (std.os.getenv(k)) |value| { | 90 | if (std.os.getenv(w)) |value| { |
| 92 | try e.value_ptr.append(value); | 91 | try v.append(value); |
| 93 | continue; | 92 | continue; |
| 94 | } | 93 | } |
| 95 | break; | 94 | break; |