diff --git a/src/lib.zig b/src/lib.zig index 426e5ee76e9e6bbcb8d88db6d9d17fb1315bb8f7..92232d1d9d062ed2f846fb45be5bfbc664c4effc 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -50,23 +50,22 @@ pub fn parse(k: FlagDashKind) !std.process.ArgIterator { var argiter = std.process.args(); defer argiter.deinit(); var argi: usize = 0; - blk: while (try argiter.next(singles.allocator)) |item| : (argi += 1) { + blk: while (argiter.next()) |item| : (argi += 1) { const data = item; - defer singles.allocator.free(data); if (argi == 0) continue; const name = extras.trimPrefix(data, dash); if (data.len == name.len) return error.BadFlag; for (singles.keys()) |jtem| { if (std.mem.eql(u8, name, jtem)) { - const value = (try argiter.next(singles.allocator)).?; + const value = argiter.next().?; try singles.put(name, value); continue :blk; } } for (multis.keys()) |jtem| { if (std.mem.eql(u8, name, jtem)) { - const value = (try argiter.next(multis.allocator)).?; + const value = argiter.next().?; try multis.getEntry(name).?.value_ptr.append(value); continue :blk; }