Skip to content

Commit

Permalink
src: remove calls to deprecated v8 functions (IntegerValue)
Browse files Browse the repository at this point in the history
Remove all calls to deprecated v8 functions (here:
Value::IntegerValue) inside the code (src directory only).

Co-authored-by: Michaël Zasso <targos@protonmail.com>

PR-URL: #22129
Reviewed-By: Anna Henningsen <anna@addaleax.net>
  • Loading branch information
ryzokuken authored and targos committed Sep 6, 2018
1 parent 8b3b973 commit 2555cb4
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 19 deletions.
11 changes: 5 additions & 6 deletions src/node.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2394,11 +2394,10 @@ void DebugProcess(const FunctionCallbackInfo<Value>& args) {
return env->ThrowError("Invalid number of arguments.");
}

pid_t pid;
int r;
CHECK(args[0]->IsNumber());
pid_t pid = args[0].As<Integer>()->Value();
int r = kill(pid, SIGUSR1);

pid = args[0]->IntegerValue();
r = kill(pid, SIGUSR1);
if (r != 0) {
return env->ThrowErrnoException(errno, "kill");
}
Expand All @@ -2416,7 +2415,6 @@ static int GetDebugSignalHandlerMappingName(DWORD pid, wchar_t* buf,
static void DebugProcess(const FunctionCallbackInfo<Value>& args) {
Environment* env = Environment::GetCurrent(args);
Isolate* isolate = args.GetIsolate();
DWORD pid;
HANDLE process = nullptr;
HANDLE thread = nullptr;
HANDLE mapping = nullptr;
Expand All @@ -2428,7 +2426,8 @@ static void DebugProcess(const FunctionCallbackInfo<Value>& args) {
goto out;
}

pid = (DWORD) args[0]->IntegerValue();
CHECK(args[0]->IsNumber());
DWORD pid = args[0].As<Integer>()->Value();

process = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION |
PROCESS_VM_OPERATION | PROCESS_VM_WRITE |
Expand Down
9 changes: 5 additions & 4 deletions src/node_buffer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,8 @@ inline MUST_USE_RESULT bool ParseArrayIndex(Local<Value> arg,
return true;
}

int64_t tmp_i = arg->IntegerValue();
CHECK(arg->IsNumber());
int64_t tmp_i = arg.As<Integer>()->Value();

if (tmp_i < 0)
return false;
Expand Down Expand Up @@ -769,7 +770,7 @@ void IndexOfString(const FunctionCallbackInfo<Value>& args) {
SPREAD_BUFFER_ARG(args[0], ts_obj);

Local<String> needle = args[1].As<String>();
int64_t offset_i64 = args[2]->IntegerValue();
int64_t offset_i64 = args[2].As<Integer>()->Value();
bool is_forward = args[4]->IsTrue();

const char* haystack = ts_obj_data;
Expand Down Expand Up @@ -885,7 +886,7 @@ void IndexOfBuffer(const FunctionCallbackInfo<Value>& args) {
THROW_AND_RETURN_UNLESS_BUFFER(Environment::GetCurrent(args), args[1]);
SPREAD_BUFFER_ARG(args[0], ts_obj);
SPREAD_BUFFER_ARG(args[1], buf);
int64_t offset_i64 = args[2]->IntegerValue();
int64_t offset_i64 = args[2].As<Integer>()->Value();
bool is_forward = args[4]->IsTrue();

const char* haystack = ts_obj_data;
Expand Down Expand Up @@ -955,7 +956,7 @@ void IndexOfNumber(const FunctionCallbackInfo<Value>& args) {
SPREAD_BUFFER_ARG(args[0], ts_obj);

uint32_t needle = args[1].As<Uint32>()->Value();
int64_t offset_i64 = args[2]->IntegerValue();
int64_t offset_i64 = args[2].As<Integer>()->Value();
bool is_forward = args[3]->IsTrue();

int64_t opt_offset = IndexOfOffset(ts_obj_length, offset_i64, 1, is_forward);
Expand Down
9 changes: 5 additions & 4 deletions src/node_crypto.cc
Original file line number Diff line number Diff line change
Expand Up @@ -979,15 +979,16 @@ void SecureContext::SetDHParam(const FunctionCallbackInfo<Value>& args) {
void SecureContext::SetOptions(const FunctionCallbackInfo<Value>& args) {
SecureContext* sc;
ASSIGN_OR_RETURN_UNWRAP(&sc, args.Holder());
int64_t val;

if (args.Length() != 1 || !args[0]->IntegerValue()) {
if (args.Length() != 1 ||
!args[0]->IntegerValue(args.GetIsolate()->GetCurrentContext()).To(&val)) {
return THROW_ERR_INVALID_ARG_TYPE(
sc->env(), "Options must be an integer value");
}

SSL_CTX_set_options(
sc->ctx_.get(),
static_cast<long>(args[0]->IntegerValue())); // NOLINT(runtime/int)
SSL_CTX_set_options(sc->ctx_.get(),
static_cast<long>(val)); // NOLINT(runtime/int)
}


Expand Down
8 changes: 6 additions & 2 deletions src/node_http_parser.cc
Original file line number Diff line number Diff line change
Expand Up @@ -289,12 +289,16 @@ class Parser : public AsyncWrap, public StreamListener {
MaybeLocal<Value> head_response =
MakeCallback(cb.As<Function>(), arraysize(argv), argv);

if (head_response.IsEmpty()) {
int64_t val;

if (head_response.IsEmpty() || !head_response.ToLocalChecked()
->IntegerValue(env()->context())
.To(&val)) {
got_exception_ = true;
return -1;
}

return head_response.ToLocalChecked()->IntegerValue();
return val;
}


Expand Down
5 changes: 3 additions & 2 deletions src/process_wrap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,9 @@ class ProcessWrap : public HandleWrap {
options->stdio[i].data.stream = stream;
} else {
Local<String> fd_key = env->fd_string();
int fd = static_cast<int>(
stdio->Get(context, fd_key).ToLocalChecked()->IntegerValue());
Local<Value> fd_value = stdio->Get(context, fd_key).ToLocalChecked();
CHECK(fd_value->IsNumber());
int fd = static_cast<int>(fd_value.As<Integer>()->Value());
options->stdio[i].flags = UV_INHERIT_FD;
options->stdio[i].data.fd = fd;
}
Expand Down
5 changes: 4 additions & 1 deletion src/tcp_wrap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,10 @@ void TCPWrap::Open(const FunctionCallbackInfo<Value>& args) {
ASSIGN_OR_RETURN_UNWRAP(&wrap,
args.Holder(),
args.GetReturnValue().Set(UV_EBADF));
int fd = static_cast<int>(args[0]->IntegerValue());
int64_t val;
if (!args[0]->IntegerValue(args.GetIsolate()->GetCurrentContext()).To(&val))
return;
int fd = static_cast<int>(val);
int err = uv_tcp_open(&wrap->handle_, fd);

if (err == 0)
Expand Down

0 comments on commit 2555cb4

Please sign in to comment.