aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/fs.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/fs.rs b/src/lib/fs.rs
index e185ca3e..722f2661 100644
--- a/src/lib/fs.rs
+++ b/src/lib/fs.rs
@@ -13,7 +13,13 @@ fn dirname(path p) -> path {
assert (_str.byte_len(sep) == 1u);
let int i = _str.rindex(p, sep.(0));
if (i == -1) {
- ret p;
+ // FIXME: the '/' character is a path separator on all 3 platforms we
+ // support. This should probably be generalized a bit more in the
+ // future, but for now this should work.
+ i = _str.rindex(p, '/');
+ if (i == -1) {
+ ret p;
+ }
}
ret _str.substr(p, 0u, i as uint);
}