Fix path lookup

This commit is contained in:
Jeremy Soller 2016-09-22 21:27:33 -06:00
parent 0d762918e2
commit 5b3aeb4a9f

View file

@ -69,7 +69,7 @@ impl Context {
cwd.clone() cwd.clone()
} else if path == b".." { } else if path == b".." {
cwd[..cwd[..cwd.len() - 1] cwd[..cwd[..cwd.len() - 1]
.iter().rposition(|&b| b == b'/') .iter().rposition(|&b| b == b'/' || b == b':')
.map_or(cwd.len(), |i| i + 1)] .map_or(cwd.len(), |i| i + 1)]
.to_vec() .to_vec()
} else if path.starts_with(b"./") { } else if path.starts_with(b"./") {
@ -78,7 +78,7 @@ impl Context {
canon canon
} else if path.starts_with(b"../") { } else if path.starts_with(b"../") {
let mut canon = cwd[..cwd[..cwd.len() - 1] let mut canon = cwd[..cwd[..cwd.len() - 1]
.iter().rposition(|&b| b == b'/') .iter().rposition(|&b| b == b'/' || b == b':')
.map_or(cwd.len(), |i| i + 1)] .map_or(cwd.len(), |i| i + 1)]
.to_vec(); .to_vec();
canon.extend_from_slice(&path[3..]); canon.extend_from_slice(&path[3..]);