In current implementation of pointer->procedure, it use ffi_prep_cif. So pointer->procedure just support foreign function with fixed amount of arguments. It's possible to support foreign function use varargs by using ffi_prep_cif_var. -- Retrieve my PGP public key: gpg --recv-keys B3EBC086AB0EBC0F45E0B4D433DB374BCEE4D9DC Zihao