X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=ldk-c-bindings;a=blobdiff_plain;f=ldk-net%2Fldk_net.c;h=dc19e8ee6794a900b1a2a3939940cd333c6d8a85;hp=18279541e0a88014f8b7621b6855e754be598f1b;hb=a82e075188fc15a103234832686915c196bfe240;hpb=f04c90f0235ea0cfeb553f34a12ad7bb1e1a1129 diff --git a/ldk-net/ldk_net.c b/ldk-net/ldk_net.c index 1827954..dc19e8e 100644 --- a/ldk-net/ldk_net.c +++ b/ldk-net/ldk_net.c @@ -142,12 +142,12 @@ static uint64_t sock_hash(const void* desc) { const struct Descriptor *descriptor = (const struct Descriptor*)desc; return (uint64_t)descriptor->fd; } -static void* sock_clone(const void* desc) { - const struct Descriptor *descriptor = (const struct Descriptor*)desc; +static void sock_cloned(LDKSocketDescriptor *NONNULL_PTR ldk_desc) { + const struct Descriptor *descriptor = (const struct Descriptor*)ldk_desc->this_arg; struct Descriptor *new_desc = malloc(sizeof(struct Descriptor)); new_desc->handler = descriptor->handler; new_desc->fd = descriptor->fd; - return new_desc; + ldk_desc->this_arg = (void*) new_desc; } static void sock_free(void* desc) { free(desc); @@ -163,7 +163,7 @@ static inline LDKSocketDescriptor get_descriptor(struct SocketHandler *handler, .disconnect_socket = sock_disconnect, .eq = sock_eq, .hash = sock_hash, - .clone = sock_clone, + .cloned = sock_cloned, .free = sock_free, }; return ret;