]> gitweb.ps.run Git - ziglmdb/blobdiff - src/lmdb.zig
idkkkkk
[ziglmdb] / src / lmdb.zig
index 8cc91f4cac3628f69162b157db6baabb6a416c6e..3802ec60e39741912d761c8e4b081c7a05e97b26 100644 (file)
@@ -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 => {
             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| {
                 },
                 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)) {
             };
             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;
                 else => |err| {
                     std.debug.print("get err: {}\n", .{err});
                     return null;