aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-01-10 18:17:24 -0800
committerGraydon Hoare <[email protected]>2011-01-10 18:17:24 -0800
commit11cbbcf79e0de904eb7f176db7f7587b40637ec8 (patch)
treef1cb51eef032448d0ff6c76cdb72722d47de056d /src/lib
parentFail in new_stdio_reader when libc.fopen fails. (diff)
downloadrust-11cbbcf79e0de904eb7f176db7f7587b40637ec8.tar.xz
rust-11cbbcf79e0de904eb7f176db7f7587b40637ec8.zip
Add std.path module for pathname manipulations.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/path.rs21
-rw-r--r--src/lib/std.rc1
2 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/path.rs b/src/lib/path.rs
new file mode 100644
index 00000000..9cda93d6
--- /dev/null
+++ b/src/lib/path.rs
@@ -0,0 +1,21 @@
+
+type path = str;
+
+fn dirname(path p) -> path {
+ auto sep = os.path_sep();
+ check (_str.byte_len(sep) == 1u);
+ let int i = _str.rindex(p, sep.(0));
+ if (i == -1) {
+ ret p;
+ }
+ ret _str.substr(p, 0u, i as uint);
+}
+
+// Local Variables:
+// mode: rust;
+// fill-column: 78;
+// indent-tabs-mode: nil
+// c-basic-offset: 4
+// buffer-file-coding-system: utf-8-unix
+// compile-command: "make -k -C .. 2>&1 | sed -e 's/\\/x\\//x:\\//g'";
+// End:
diff --git a/src/lib/std.rc b/src/lib/std.rc
index b5a1030b..102aa4d1 100644
--- a/src/lib/std.rc
+++ b/src/lib/std.rc
@@ -56,6 +56,7 @@ mod rand;
mod dbg;
mod bitv;
mod sort;
+mod path;
// Local Variables:
// mode: rust;