Skip to content

Commit be63274

Browse files
committed
unwrapBufferToPointer supports noe::Buffer object
1 parent 65d1430 commit be63274

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bridjs",
3-
"version": "0.3.4-1",
3+
"version": "0.3.4-2",
44
"description": "V8 bindings for dyncall, and BridJ-like API for nodejs.",
55
"keywords": [
66
"dyncall",

src/dyncall_v8_utils.cc

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,17 @@ Local<Value> bridjs::Utils::wrapPointerToBuffer(Isolate* isolate, const void* pt
239239

240240
void* bridjs::Utils::unwrapBufferToPointer(v8::Local<v8::Value> value){
241241
void* ptr;
242-
v8::Local<v8::ArrayBuffer> ab = value.As<v8::ArrayBuffer>();
242+
void* bufferPtr;
243+
244+
if(node::Buffer::HasInstance(value)){
245+
bufferPtr = node::Buffer::Data(value);
246+
}else{
247+
v8::Local<v8::ArrayBuffer> ab = value.As<v8::ArrayBuffer>();
248+
249+
bufferPtr = ab->GetContents().Data();
250+
}
243251

244-
std::memcpy(&ptr, ab->GetContents().Data(), sizeof(void*));
252+
std::memcpy(&ptr, bufferPtr, sizeof(void*));
245253

246254
return ptr;
247255
}

0 commit comments

Comments
 (0)