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=e9ba970572697c221b51c9a780c39f23b4bb1b97;hpb=8edfba2587ed38175f8627d770f501131c12dada 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;