X-Git-Url: https://gitweb.ps.run/ziglmdb/blobdiff_plain/b093b3271004173309ae5f7c67f1cdafc2cd4b82..65ff097a0515b2c55064f36ddaaa000f4b9db1a7:/src/lmdb.zig diff --git a/src/lmdb.zig b/src/lmdb.zig index 8cc91f4..3802ec6 100644 --- a/src/lmdb.zig +++ b/src/lmdb.zig @@ -59,8 +59,10 @@ pub fn Cursor(comptime K: type, comptime V: type) type { var val: lmdb.MDB_val = undefined; return switch (lmdb.mdb_cursor_get(self.ptr, &key, &val, @intFromEnum(flags))) { 0 => { - k.* = @as(*align(1) K, @ptrCast(key.mv_data)).*; - return @as(?*align(1) V, @ptrCast(val.mv_data)).?.*; + k.* = std.mem.bytesToValue(K, key.mv_data.?); + return std.mem.bytesToValue(V, val.mv_data.?); + //k.* = @as(*align(1) K, @ptrCast(key.mv_data)).*; + //return @as(?*align(1) V, @ptrCast(val.mv_data)).?.*; }, lmdb.MDB_NOTFOUND => null, else => |err| { @@ -136,7 +138,10 @@ pub fn Dbi(comptime K: type, comptime V: type) type { }; var val: lmdb.MDB_val = undefined; return switch (lmdb.mdb_get(self.txn.ptr, self.ptr, &key, &val)) { - 0 => @as(?*align(1) V, @ptrCast(val.mv_data)).?.*, + 0 => { + return std.mem.bytesToValue(V, val.mv_data.?); + //@as(?*align(1) V, @ptrCast(val.mv_data)).?.* + }, else => |err| { std.debug.print("get err: {}\n", .{err}); return null;