El 19/12/20 a les 23:15, Jonas Maebe via fpc-pascal ha escrit:
On 19/12/2020 22:35, Luca Olivetti via fpc-pascal wrote:
I'm trying to use a c library where I can define a logging plugin.
The c prototype for the callback is
void (*log)(void *logContext, UA_LogLevel level, UA_LogCategory
category, const char *msg, va_list args);
however I couldn't find a way to define a suitable callback in fpc since
the "array of const" construct is not allowed with cdecl without
external, i.e.
It is indeed not possible to implement a function with C varargs in FPC.
I was afraid that's the answer :-(
as an ugly workaround, I wrote a c library that vsnprintf msg and args
to a buffer and then calls a pascal function with no varargs.
It works but, as I said, it's ugly and I'd need to provide a .a for
every platform I plan to use.
Is there a better/simpler way (apart from asking the library developers
to use a callback with no varargs)?
Bye
--
Luca
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal