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