From 38d8cd60ea168d28349e041dc0f2a0bf853c2497 Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Tue, 8 Feb 2011 22:56:03 +0100 Subject: [PATCH] Don't make unnecessary getcwd calls from path.resolve --- lib/path.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/path.js b/lib/path.js index 3bfcb9637c..641e21e4c4 100644 --- a/lib/path.js +++ b/lib/path.js @@ -47,16 +47,14 @@ if (isWindows) { // path.resolve([from ...], to) // windows version exports.resolve = function() { - // Prepend cwd to provided paths - var paths = [process.cwd()].concat( - Array.prototype.slice.call(arguments, 0)); - var resolvedDevice = '', resolvedTail = '', resolvedAbsolute = false; - for (var i = paths.length; i >= 0; i--) { - var path = paths[i]; + for (var i = arguments.length; i >= -1; i--) { + var path = (i >= 0) + ? arguments[i] + : process.cwd(); // Skip empty and invalid entries if (typeof path !== 'string' || !path) { @@ -177,19 +175,19 @@ if (isWindows) { // path.resolve([from ...], to) // posix version exports.resolve = function() { - // Prepend cwd to provided paths - var paths = [process.cwd()].concat( - Array.prototype.slice.call(arguments, 0)); - var resolvedPath = '', resolvedAbsolute = false; - for (var i = paths.length; i >= 0 && !resolvedAbsolute; i--) { - var path = paths[i]; + for (var i = arguments.length; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) + ? arguments[i] + : process.cwd(); + // Skip empty and invalid entries if (typeof path !== 'string' || !path) { continue; } + resolvedPath = path + '/' + resolvedPath; resolvedAbsolute = path.charAt(0) === '/'; }