Browse Source

process: don't use strdup()

file and cwd can be directly used from Utf8Value.
v0.9.1-release
ssuda 13 years ago
committed by Ben Noordhuis
parent
commit
253ec6a63d
  1. 17
      src/process_wrap.cc

17
src/process_wrap.cc

@ -107,9 +107,9 @@ class ProcessWrap : public HandleWrap {
// options.file // options.file
Local<Value> file_v = js_options->Get(String::New("file")); Local<Value> file_v = js_options->Get(String::New("file"));
if (!file_v.IsEmpty() && file_v->IsString()) { String::Utf8Value file(file_v->IsString() ? file_v : Local<Value>());
String::Utf8Value file(file_v->ToString()); if (file.length() > 0) {
options.file = strdup(*file); options.file = *file;
} }
// options.args // options.args
@ -128,11 +128,9 @@ class ProcessWrap : public HandleWrap {
// options.cwd // options.cwd
Local<Value> cwd_v = js_options->Get(String::New("cwd")); Local<Value> cwd_v = js_options->Get(String::New("cwd"));
if (!cwd_v.IsEmpty() && cwd_v->IsString()) { String::Utf8Value cwd(cwd_v->IsString() ? cwd_v : Local<Value>());
String::Utf8Value cwd(cwd_v->ToString()); if (cwd.length() > 0) {
if (cwd.length() > 0) { options.cwd = *cwd;
options.cwd = strdup(*cwd);
}
} }
// options.env // options.env
@ -191,9 +189,6 @@ class ProcessWrap : public HandleWrap {
delete [] options.args; delete [] options.args;
} }
free(options.cwd);
free((void*)options.file);
if (options.env) { if (options.env) {
for (int i = 0; options.env[i]; i++) free(options.env[i]); for (int i = 0; options.env[i]; i++) free(options.env[i]);
delete [] options.env; delete [] options.env;

Loading…
Cancel
Save