Browse Source

process: don't use strdup()

file and cwd can be directly used from Utf8Value.

Conflicts:

	src/process_wrap.cc
v0.8.7-release
ssuda 13 years ago
committed by Bert Belder
parent
commit
db844b152a
  1. 15
      src/process_wrap.cc

15
src/process_wrap.cc

@ -139,9 +139,9 @@ class ProcessWrap : public HandleWrap {
// options.file
Local<Value> file_v = js_options->Get(String::NewSymbol("file"));
if (!file_v.IsEmpty() && file_v->IsString()) {
String::Utf8Value file(file_v->ToString());
options.file = strdup(*file);
String::Utf8Value file(file_v->IsString() ? file_v : Local<Value>());
if (file.length() > 0) {
options.file = *file;
} else {
return ThrowException(Exception::TypeError(String::New("Bad argument")));
}
@ -162,12 +162,10 @@ class ProcessWrap : public HandleWrap {
// options.cwd
Local<Value> cwd_v = js_options->Get(String::NewSymbol("cwd"));
if (!cwd_v.IsEmpty() && cwd_v->IsString()) {
String::Utf8Value cwd(cwd_v->ToString());
String::Utf8Value cwd(cwd_v->IsString() ? cwd_v : Local<Value>());
if (cwd.length() > 0) {
options.cwd = strdup(*cwd);
options.cwd = *cwd;
}
}
// options.env
Local<Value> env_v = js_options->Get(String::NewSymbol("envPairs"));
@ -228,9 +226,6 @@ class ProcessWrap : public HandleWrap {
delete [] options.args;
}
free(options.cwd);
free((void*)options.file);
if (options.env) {
for (int i = 0; options.env[i]; i++) free(options.env[i]);
delete [] options.env;

Loading…
Cancel
Save