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 d960a7c..8c4b3a5 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::ErrnoException(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..28ca780 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "blowfish", "hash" ], - "dependencies": { "nan": "1 >=1.6.2" }, + "dependencies": { "nan": "^2.1.0" }, "author": "Jaakko-Heikki Heusala ", "license": "MIT", "gypfile": true