Windows path fixes

Fix uppercase drive letters, paths with multiple backslashes.

string.replace(string, string) only replaces the first match.
This commit is contained in:
SLaks
2013-07-17 14:03:58 -04:00
parent 290376f4eb
commit 4b0795dc79

View File

@@ -200,7 +200,7 @@ function extractUrlParts(url, baseUrl) {
// urlParts[4] = filename
// urlParts[5] = parameters
var urlPartsRegex = /^((?:[a-z-]+:)?\/+?(?:[^\/\?#]*\/)|([\/\\]))?((?:[^\/\\\?#]*[\/\\])*)([^\/\\\?#]*)([#\?].*)?$/,
var urlPartsRegex = /^((?:[a-z-]+:)?\/+?(?:[^\/\?#]*\/)|([\/\\]))?((?:[^\/\\\?#]*[\/\\])*)([^\/\\\?#]*)([#\?].*)?$/i,
urlParts = url.match(urlPartsRegex),
returner = {}, directories = [], i, baseUrlParts;
@@ -221,7 +221,7 @@ function extractUrlParts(url, baseUrl) {
}
if (urlParts[3]) {
directories = urlParts[3].replace("\\", "/").split("/");
directories = urlParts[3].replace(/\\/g, "/").split("/");
// extract out . before .. so .. doesn't absorb a non-directory
for(i = 0; i < directories.length; i++) {