Skip to content

Commit

Permalink
Rename NanNewBuffer to NanCopyBuffer
Browse files Browse the repository at this point in the history
  • Loading branch information
kkoopa committed Jul 4, 2015
1 parent 3e8b0a5 commit d6af78d
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 3 deletions.
28 changes: 26 additions & 2 deletions nan.h
Original file line number Diff line number Diff line change
Expand Up @@ -657,25 +657,37 @@ class NanTryCatch {
, node::smalloc::FreeCallback callback
, void *hint
) {
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(length <= 0x3fffffff && "too large buffer");
return node::Buffer::New(
v8::Isolate::GetCurrent(), data, length, callback, hint);
}

NAN_INLINE v8::Local<v8::Object> NanNewBuffer(
NAN_INLINE v8::Local<v8::Object> NanCopyBuffer(
const char *data
, uint32_t size
) {
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(size <= 0x3fffffff && "too large buffer");
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
}

NAN_INLINE v8::Local<v8::Object> NanNewBuffer(uint32_t size) {
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(size <= 0x3fffffff && "too large buffer");
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
}

NAN_INLINE v8::Local<v8::Object> NanNewBuffer(
char* data
, uint32_t size
) {
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(size <= 0x3fffffff && "too large buffer");
return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
}

Expand Down Expand Up @@ -1038,14 +1050,20 @@ class NanTryCatch {
, node::Buffer::free_callback callback
, void *hint
) {
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(length <= 0x3fffffff && "too large buffer");
return NanNew(
node::Buffer::New(data, length, callback, hint)->handle_);
}

NAN_INLINE v8::Local<v8::Object> NanNewBuffer(
NAN_INLINE v8::Local<v8::Object> NanCopyBuffer(
const char *data
, uint32_t size
) {
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(size <= 0x3fffffff && "too large buffer");
#if NODE_MODULE_VERSION >= NODE_0_10_MODULE_VERSION
return NanNew(node::Buffer::New(data, size)->handle_);
#else
Expand All @@ -1055,6 +1073,9 @@ class NanTryCatch {
}

NAN_INLINE v8::Local<v8::Object> NanNewBuffer(uint32_t size) {
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(size <= 0x3fffffff && "too large buffer");
return NanNew(node::Buffer::New(size)->handle_);
}

Expand All @@ -1067,6 +1088,9 @@ class NanTryCatch {
char* data
, uint32_t size
) {
// arbitrary buffer lengths requires
// NODE_MODULE_VERSION >= IOJS_3_0_MODULE_VERSION
assert(size <= 0x3fffffff && "too large buffer");
return NanNew(
node::Buffer::New(data, size, FreeData, NULL)->handle_);
}
Expand Down
2 changes: 1 addition & 1 deletion nan_string_bytes.h
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ static Local<Value> Encode(const char* buf,
Local<String> val;
switch (encoding) {
case Nan::BUFFER:
return NanNewBuffer(buf, buflen);
return NanCopyBuffer(buf, buflen);

case Nan::ASCII:
if (contains_non_ascii(buf, buflen)) {
Expand Down

0 comments on commit d6af78d

Please sign in to comment.