From 4a3a3357f9956cdc8df77860f4bbb92b23715588 Mon Sep 17 00:00:00 2001 From: James Ide Date: Mon, 5 Oct 2015 17:23:57 -0700 Subject: [PATCH 1/2] Upgrade to NAN 2 for Node 4 compatibility --- crypt3.cc | 22 +++++++++++----------- package.json | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/crypt3.cc b/crypt3.cc index d960a7c..ffdfeb3 100644 --- a/crypt3.cc +++ b/crypt3.cc @@ -1,6 +1,5 @@ /* Node.js Crypt(3) implementation */ -#include #include #include #include // for crypt if _XOPEN_SOURCE exists @@ -9,29 +8,30 @@ using namespace v8; NAN_METHOD(Method) { - NanScope(); + Nan::HandleScope scope; - if (args.Length() < 2) { - return NanThrowTypeError("Wrong number of arguments"); + if (info.Length() < 2) { + return Nan::ThrowTypeError("Wrong number of arguments"); } - if (!args[0]->IsString() || !args[1]->IsString()) { - return NanThrowTypeError("Wrong arguments"); + if (!info[0]->IsString() || !info[1]->IsString()) { + return Nan::ThrowTypeError("Wrong arguments"); } - v8::String::Utf8Value key(args[0]->ToString()); - v8::String::Utf8Value salt(args[1]->ToString()); + v8::String::Utf8Value key(info[0]->ToString()); + v8::String::Utf8Value salt(info[1]->ToString()); char* res = crypt(*key, *salt); if (res != NULL) { - NanReturnValue(NanNew(res)); + info.GetReturnValue().Set(Nan::New(res).ToLocalChecked()); } else { - return NanThrowError(node::ErrnoException(errno, "crypt")); + return Nan::ThrowError(Nan::NanErrnoException(errno, "crypt")); } } void init(Handle exports) { - exports->Set(NanNew("crypt"), NanNew(Method)->GetFunction()); + exports->Set(Nan::New("crypt").ToLocalChecked(), + Nan::New(Method)->GetFunction()); } NODE_MODULE(crypt3, init) diff --git a/package.json b/package.json index 3ed4c18..8390146 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "blowfish", "hash" ], - "dependencies": { "nan": "1 >=1.6.2" }, + "dependencies": { "nan": "^2.0.9" }, "author": "Jaakko-Heikki Heusala ", "license": "MIT", "gypfile": true From 9925f3921c177d5ca32019115f68c38b659fcb98 Mon Sep 17 00:00:00 2001 From: James Ide Date: Mon, 5 Oct 2015 17:24:56 -0700 Subject: [PATCH 2/2] Configure Travis CI testing --- .travis.yml | 14 ++++++++++++++ crypt3.cc | 2 +- package.json | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..fb608a1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +language: node_js +node_js: + - 4 + - "0.12" + - "0.10" +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-4.9 + - g++-4.9 +before_install: + - export CC="gcc-4.9" CXX="g++-4.9" diff --git a/crypt3.cc b/crypt3.cc index ffdfeb3..8c4b3a5 100644 --- a/crypt3.cc +++ b/crypt3.cc @@ -25,7 +25,7 @@ NAN_METHOD(Method) { if (res != NULL) { info.GetReturnValue().Set(Nan::New(res).ToLocalChecked()); } else { - return Nan::ThrowError(Nan::NanErrnoException(errno, "crypt")); + return Nan::ThrowError(Nan::ErrnoException(errno, "crypt")); } } diff --git a/package.json b/package.json index 8390146..28ca780 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "blowfish", "hash" ], - "dependencies": { "nan": "^2.0.9" }, + "dependencies": { "nan": "^2.1.0" }, "author": "Jaakko-Heikki Heusala ", "license": "MIT", "gypfile": true