From 11cbbcf79e0de904eb7f176db7f7587b40637ec8 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Mon, 10 Jan 2011 18:17:24 -0800 Subject: Add std.path module for pathname manipulations. --- src/lib/path.rs | 21 +++++++++++++++++++++ src/lib/std.rc | 1 + 2 files changed, 22 insertions(+) create mode 100644 src/lib/path.rs (limited to 'src/lib') 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; -- cgit v1.2.3