Browse Source

child_process: make copy of options arg

Make a copy of the options object that the user passes in, we modify it.
v0.9.1-release
Ben Noordhuis 13 years ago
parent
commit
68f63fe9ec
  1. 11
      lib/child_process.js

11
lib/child_process.js

@ -172,10 +172,10 @@ exports.fork = function(modulePath /*, args, options*/) {
var options, args, execArgv; var options, args, execArgv;
if (Array.isArray(arguments[1])) { if (Array.isArray(arguments[1])) {
args = arguments[1]; args = arguments[1];
options = arguments[2] || {}; options = util._extend({}, arguments[2]);
} else { } else {
args = []; args = [];
options = arguments[1] || {}; options = util._extend({}, arguments[1]);
} }
// Prepare arguments for fork: // Prepare arguments for fork:
@ -264,15 +264,12 @@ exports.execFile = function(file /* args, options, callback */) {
if (Array.isArray(arguments[1])) { if (Array.isArray(arguments[1])) {
args = arguments[1]; args = arguments[1];
if (typeof arguments[2] === 'object') optionArg = arguments[2]; options = util._extend(options, arguments[2]);
} else { } else {
args = []; args = [];
if (typeof arguments[1] === 'object') optionArg = arguments[1]; options = util._extend(options, arguments[1]);
} }
// Merge optionArg into options
util._extend(options, optionArg);
var child = spawn(file, args, { var child = spawn(file, args, {
cwd: options.cwd, cwd: options.cwd,
env: options.env, env: options.env,

Loading…
Cancel
Save