From 4ed19eb73e1a48e0d285d15bae99b241a2a7676b Mon Sep 17 00:00:00 2001 From: Rui Chen Date: Tue, 26 Mar 2024 20:40:31 -0400 Subject: [PATCH] fix incompatible function pointer types issue ``` util/events/libuv/Process.c:29:51: error: incompatible function pointer types passing 'Process_OnExitCallback' (aka 'void (*)(long long, int)') to parameter of type 'void (*)(long, int)' [-Wincompatible-function-pointer-types] return Rffi_spawn(binaryPath, args, i, alloc, callback); ^~~~~~~~ ./rust/cjdns_sys/Rffi.h:127:27: note: passing argument to parameter 'cb' here void (*cb)(long, int)); ^ ``` Signed-off-by: Rui Chen --- util/events/libuv/Process.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/util/events/libuv/Process.c b/util/events/libuv/Process.c index 417b62236..62c805190 100644 --- a/util/events/libuv/Process.c +++ b/util/events/libuv/Process.c @@ -18,6 +18,11 @@ #include "util/Bits.h" #include "util/Identity.h" +void Process_OnExitCallbackWrapper(long pid, int exitCode) { + long long pidLongLong = (long long) pid; + Process_OnExitCallback(pidLongLong, exitCode); +} + int Process_spawn(char* binaryPath, char** args, struct Allocator* alloc, @@ -26,7 +31,7 @@ int Process_spawn(char* binaryPath, int i; for (i = 0; args[i]; i++) ; - return Rffi_spawn(binaryPath, args, i, alloc, callback); + return Rffi_spawn(binaryPath, args, i, alloc, Process_OnExitCallbackWrapper); } char* Process_getPath(struct Allocator* alloc)