diff options
| author | Taylan Kammer <taylan.kammer@gmail.com> | 2025-02-19 23:29:26 +0100 |
|---|---|---|
| committer | Taylan Kammer <taylan.kammer@gmail.com> | 2025-02-19 23:29:26 +0100 |
| commit | 4e88891235664917a2db44b84c0bbeeb13dd71ad (patch) | |
| tree | 7ed8ac2272ce92054fdf2f4e5e09b156dfc5a4d1 /src/libzisp/value/ptr.zig | |
| parent | 4d0db1a1065f18d879b3ff90da6ecb14e9e1ae31 (diff) | |
update
Diffstat (limited to 'src/libzisp/value/ptr.zig')
| -rw-r--r-- | src/libzisp/value/ptr.zig | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/src/libzisp/value/ptr.zig b/src/libzisp/value/ptr.zig index fe13af5..e1fadf2 100644 --- a/src/libzisp/value/ptr.zig +++ b/src/libzisp/value/ptr.zig @@ -31,27 +31,13 @@ pub fn assertForeign(v: Value) void { } } -pub fn checkForeignRange(ptr: *anyopaque) bool { - const int = @intFromPtr(ptr); - return int <= std.math.maxInt(u50); -} - -fn assertForeignRange(ptr: *anyopaque) void { - if (!checkForeignRange(ptr)) { - std.debug.print("foreign pointer out of range: {}\n", .{ptr}); - @panic("foreign pointer out of range"); - } -} - -pub fn packForeign(ptr: *anyopaque) Value { - assertForeignRange(ptr); - const int: u50 = @intCast(@intFromPtr(ptr)); +pub fn packForeign(int: u50) Value { return .{ .fptr = .{ .value = int } }; } -pub fn unpackForeign(v: Value) *anyopaque { +pub fn unpackForeign(v: Value) u50 { assertForeign(v); - return @ptrFromInt(v.fptr.value); + return v.fptr.value; } // Zisp Pointers |
