summaryrefslogtreecommitdiff
path: root/lib/path.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/path.js')
-rw-r--r--lib/path.js20
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/path.js b/lib/path.js
index db0cdea2dd..5cef72fac7 100644
--- a/lib/path.js
+++ b/lib/path.js
@@ -121,7 +121,7 @@ if (isWindows) {
var result = splitDeviceRe.exec(path),
device = result[1] || '',
isUnc = device && device.charAt(1) !== ':',
- isAbsolute = !!result[2] || isUnc, // UNC paths are always absolute
+ isAbsolute = exports.isAbsolute(path),
tail = result[3];
if (device &&
@@ -172,7 +172,7 @@ if (isWindows) {
var result = splitDeviceRe.exec(path),
device = result[1] || '',
isUnc = device && device.charAt(1) !== ':',
- isAbsolute = !!result[2] || isUnc, // UNC paths are always absolute
+ isAbsolute = exports.isAbsolute(path),
tail = result[3],
trailingSlash = /[\\\/]$/.test(tail);
@@ -203,6 +203,15 @@ if (isWindows) {
};
// windows version
+ exports.isAbsolute = function(path) {
+ var result = splitDeviceRe.exec(path),
+ device = result[1] || '',
+ isUnc = device && device.charAt(1) !== ':';
+ // UNC paths are always absolute
+ return !!result[2] || isUnc;
+ };
+
+ // windows version
exports.join = function() {
function f(p) {
if (typeof p !== 'string') {
@@ -338,7 +347,7 @@ if (isWindows) {
// path.normalize(path)
// posix version
exports.normalize = function(path) {
- var isAbsolute = path.charAt(0) === '/',
+ var isAbsolute = exports.isAbsolute(path),
trailingSlash = path.substr(-1) === '/';
// Normalize the path
@@ -356,6 +365,10 @@ if (isWindows) {
return (isAbsolute ? '/' : '') + path;
};
+ // posix version
+ exports.isAbsolute = function(path) {
+ return path.charAt(0) === '/';
+ };
// posix version
exports.join = function() {
@@ -416,7 +429,6 @@ if (isWindows) {
exports.delimiter = ':';
}
-
exports.dirname = function(path) {
var result = splitPath(path),
root = result[0],