[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