Skip to content

Commit

Permalink
ffi: simplify prepCif()
Browse files Browse the repository at this point in the history
  • Loading branch information
TooTallNate committed Jun 2, 2015
1 parent a99d9bf commit b94ceef
Showing 1 changed file with 6 additions and 17 deletions.
23 changes: 6 additions & 17 deletions src/node_ffi.cc
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,6 @@ void ThreadedCallbackInvokation::WaitForExecution() {
static void PrepCif(const FunctionCallbackInfo<Value>& args) {
Environment* env = Environment::GetCurrent(args);

unsigned int nargs;
char* rtype, *atypes, *cif;
ffi_status status;
ffi_abi abi;

if (!Buffer::HasInstance(args[0]))
return env->ThrowTypeError("expected Buffer instance as first argument");
if (!args[1]->IsNumber())
Expand All @@ -77,18 +72,12 @@ static void PrepCif(const FunctionCallbackInfo<Value>& args) {
if (!Buffer::HasInstance(args[4]))
return env->ThrowTypeError("expected Buffer instance as fifth argument");

cif = Buffer::Data(args[0].As<Object>());
abi = static_cast<ffi_abi>(args[1]->Int32Value());
nargs = args[2]->Uint32Value();
rtype = Buffer::Data(args[3].As<Object>());
atypes = Buffer::Data(args[4].As<Object>());

status = ffi_prep_cif(
reinterpret_cast<ffi_cif*>(cif),
abi,
nargs,
reinterpret_cast<ffi_type*>(rtype),
reinterpret_cast<ffi_type**>(atypes));
ffi_status status = ffi_prep_cif(
reinterpret_cast<ffi_cif*>(Buffer::Data(args[0].As<Object>())),
static_cast<ffi_abi>(args[1]->Int32Value()),
args[2]->Uint32Value(),
reinterpret_cast<ffi_type*>(Buffer::Data(args[3].As<Object>())),
reinterpret_cast<ffi_type**>(Buffer::Data(args[4].As<Object>())));

args.GetReturnValue().Set(status);
}
Expand Down

0 comments on commit b94ceef

Please sign in to comment.