[swift-users] Having a hard time with C interop (callbacks)
Rick Mann
rmann at latencyzero.com
Tue Apr 18 19:06:20 CDT 2017
Ah, turns out the passed-in type is UnsafePointer<lgs_result_info_t>, and I can just call .pointee on that. That seems to have fixed my issues. Not sure if I'm doing the rest of it wrong, but it's not crashing now, at least.
> On Apr 18, 2017, at 16:18 , Rick Mann via swift-users <swift-users at swift.org> wrote:
>
> I'm trying to use an API with a complicated callback structure. You pass a struct with a set of pointers to callbacks to a function, along with a pointer to a buffer it fills out. Here's an elided version of the C and Swift code:
>
> https://pastebin.com/k3VYJTjB
>
> This compiles, but I get a runtime error in the unsafeBitCast() call (mismatched sizes) on line 56.
>
> I realize unsafeBitCast() is dangerous, but I was relying Quinn's post in the Apple Dev Forums suggesting it was the best way to go. However, I'm pretty sure I'm using it incorrectly here.
>
> I can't seem to get Xcode to show me its Swift interpretation of the header file. Sometimes it does, sometimes it doesn't.
>
> But can someone please help me get the pointer conversions right for this?
>
> Thank you very much.
>
> --
> Rick Mann
> rmann at latencyzero.com
>
>
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
--
Rick Mann
rmann at latencyzero.com
More information about the swift-users
mailing list