[Pkg-javascript-commits] [node-leveldown] 375/492: upgrade to nan at 0.2.1 and fix for node at 0.8 compat
Andrew Kelley
andrewrk-guest at moszumanska.debian.org
Sun Jul 6 17:14:19 UTC 2014
This is an automated email from the git hooks/post-receive script.
andrewrk-guest pushed a commit to annotated tag rocksdb-0.10.1
in repository node-leveldown.
commit 74e4f74af44db51d52cfeb5c92a8d68a10cade00
Author: Rod Vagg <rod at vagg.org>
Date: Mon Aug 5 10:27:36 2013 +1000
upgrade to nan at 0.2.1 and fix for node at 0.8 compat
---
src/database.cc | 2 +-
src/leveldown.cc | 4 ++--
src/nan.h | 30 ++++++++++++++++++------------
3 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/src/database.cc b/src/database.cc
index 8424048..7ce8bba 100644
--- a/src/database.cc
+++ b/src/database.cc
@@ -153,7 +153,7 @@ NAN_METHOD(Database::New) {
if (!args[0]->IsString())
return NanThrowError("constructor requires a location string argument");
- char* location = NanFromV8String(args[0]);
+ char* location = NanFromV8String(args[0].As<v8::Object>());
Database* obj = new Database(location);
obj->Wrap(args.This());
diff --git a/src/leveldown.cc b/src/leveldown.cc
index 14ee6bd..28dbf9d 100644
--- a/src/leveldown.cc
+++ b/src/leveldown.cc
@@ -28,7 +28,7 @@ NAN_METHOD(DestroyDB) {
return NanThrowError("destroy() requires a callback function argument");
}
- char* location = NanFromV8String(args[0]);
+ char* location = NanFromV8String(args[0].As<v8::Object>());
NanCallback* callback = new NanCallback(
v8::Local<v8::Function>::Cast(args[1]));
@@ -58,7 +58,7 @@ NAN_METHOD(RepairDB) {
return NanThrowError("repair() requires a callback function argument");
}
- char* location = NanFromV8String(args[0]);
+ char* location = NanFromV8String(args[0].As<v8::Object>());
NanCallback* callback = new NanCallback(
v8::Local<v8::Function>::Cast(args[1]));
diff --git a/src/nan.h b/src/nan.h
index 5ea2380..bc8d993 100644
--- a/src/nan.h
+++ b/src/nan.h
@@ -8,9 +8,13 @@
*
* MIT +no-false-attribs License <https://github.com/rvagg/nan/blob/master/LICENSE>
*
- * Version 0.2.0 (current Node unstable: 0.11.4)
+ * Version 0.2.1 (current Node unstable: 0.11.4)
*
* ChangeLog:
+ * * 0.2.1 Aug 5 2013
+ * - Fixed 0.8 breakage, node::BUFFER encoding type not available in 0.8 for
+ * NanFromV8String()
+ *
* * 0.2.0 Aug 5 2013
* - Added NAN_PROPERTY_GETTER, NAN_PROPERTY_SETTER, NAN_PROPERTY_ENUMERATOR,
* NAN_PROPERTY_DELETER, NAN_PROPERTY_QUERY
@@ -630,7 +634,7 @@ static size_t _nan_hex_decode(char* buf,
return i;
}
-static bool _NanGetExternalParts(v8::Handle<v8::Value> val, const char** data, size_t* len) {
+static bool _NanGetExternalParts(v8::Handle<v8::Object> val, const char** data, size_t* len) {
if (node::Buffer::HasInstance(val)) {
*data = node::Buffer::Data(val);
*len = node::Buffer::Length(val);
@@ -659,7 +663,11 @@ static bool _NanGetExternalParts(v8::Handle<v8::Value> val, const char** data, s
return false;
}
-static inline char* NanFromV8String(v8::Local<v8::Value> from, enum node::encoding encoding = node::UTF8, size_t *datalen = NULL) {
+static inline char* NanFromV8String(
+ v8::Local<v8::Object> from
+ , enum node::encoding encoding = node::UTF8
+ , size_t *datalen = NULL) {
+
NanScope();
size_t sz_;
@@ -682,15 +690,13 @@ static inline char* NanFromV8String(v8::Local<v8::Value> from, enum node::encodi
switch(encoding) {
case node::ASCII:
case node::BINARY:
- case node::BUFFER:
- sz_ = toStr->Length();
- to = new char[sz_];
- #if (NODE_MODULE_VERSION > 0x000B)
- NanSetPointerSafe<size_t>(datalen, toStr->WriteOneByte(reinterpret_cast<uint8_t *>(to), 0, sz_, flags));
- #else
- assert(0 && "not implemented");
- #endif
- return to;
+ #if (NODE_MODULE_VERSION > 0x000B)
+ case node::BUFFER:
+ sz_ = toStr->Length();
+ to = new char[sz_];
+ NanSetPointerSafe<size_t>(datalen, toStr->WriteOneByte(reinterpret_cast<uint8_t *>(to), 0, sz_, flags));
+ return to;
+ #endif
case node::UTF8:
sz_ = toStr->Utf8Length();
to = new char[sz_];
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-leveldown.git
More information about the Pkg-javascript-commits
mailing list