Commit 80882bda59
Changed files (2)
lib
test
standalone
load_dynamic_library
lib/std/dynamic_library.zig
@@ -144,7 +144,7 @@ pub const LinuxDynLib = struct {
pub fn lookup(self: *LinuxDynLib, comptime T: type, name: []const u8) ?T {
if (self.elf_lib.lookup("", name)) |symbol| {
- return @ptrCast(T, symbol);
+ return @intToPtr(T, symbol);
} else {
return null;
}
test/standalone/load_dynamic_library/main.zig
@@ -9,8 +9,7 @@ pub fn main() !void {
var lib = try std.DynLib.open(dynlib_name);
defer lib.close();
- const addr = lib.lookup("add") orelse return error.SymbolNotFound;
- const addFn = @intToPtr(extern fn (i32, i32) i32, addr);
+ const addFn = lib.lookup(extern fn (i32, i32) i32, "add") orelse return error.SymbolNotFound;
const result = addFn(12, 34);
std.debug.assert(result == 46);