diff options
author | isaacs <i@izs.me> | 2011-12-15 20:04:15 +0400 |
---|---|---|
committer | isaacs <i@izs.me> | 2011-12-15 20:04:15 +0400 |
commit | 0a5b548260f6aade177092c967bf490d65ffd47f (patch) | |
tree | 9349af3972a347a4150f6ebbb426dfe6a9818634 | |
parent | a7552f6d1f623ea9df3e03f554a6bbc2c99ef3b0 (diff) |
Get absolute paths properly for windows
-rw-r--r-- | lib/utils/relativize.js | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/utils/relativize.js b/lib/utils/relativize.js index 74c45c5d3..70f203206 100644 --- a/lib/utils/relativize.js +++ b/lib/utils/relativize.js @@ -30,7 +30,18 @@ var split = process.platform === "win32" ? /[\/\\]/ : "/" function isAbsolute (p) { if (process.platform !== "win32") return p.charAt(0) === "/" - return path.resolve(p) === p + + + // yanked from node/lib/path.js + var splitDeviceRe = + /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?([\\\/])?([\s\S]*?)$/ + + var result = p.match(splitDeviceRe) + , device = result[1] || "" + , isUnc = device && device.charAt(1) !== ":" + , isAbs = !!result[2] || isUnc // UNC always absolute + + return isAbs } if (module === require.main) { |