Browse Source

Don't make unnecessary getcwd calls from path.resolve

v0.7.4-release
Bert Belder 14 years ago
committed by Ryan Dahl
parent
commit
38d8cd60ea
  1. 22
      lib/path.js

22
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) === '/';
}

Loading…
Cancel
Save