How to handle varargs using NativeCall

I write bindings for Editline, and one of its history functions does the bulk of the work for this part of the library, but has several possible signatures:

 :(Pointer[Internal], Pointer[Event], int32 --> int32) :(Pointer[Internal], Pointer[Event], int32, int32 --> int32) :(Pointer[Internal], Pointer[Event], int32, Str --> int32) # etc. 

The third argument is a flag that determines which history function should call with the specified arguments, but since these characters are not exported, I cannot use them. How can I find a way to use this feature? I cannot use multi subs or use cglobal to pass it to Pointer and then to a right-signed function.

Edit: I know about is symbol , but I'm wondering if there are any better ways to do this, since for

There are 9 different signatures,
+5
source share

Source: https://habr.com/ru/post/1276200/


All Articles