diff options
| author | Graydon Hoare <[email protected]> | 2011-01-10 18:17:24 -0800 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-01-10 18:17:24 -0800 |
| commit | 11cbbcf79e0de904eb7f176db7f7587b40637ec8 (patch) | |
| tree | f1cb51eef032448d0ff6c76cdb72722d47de056d /src/lib | |
| parent | Fail in new_stdio_reader when libc.fopen fails. (diff) | |
| download | rust-11cbbcf79e0de904eb7f176db7f7587b40637ec8.tar.xz rust-11cbbcf79e0de904eb7f176db7f7587b40637ec8.zip | |
Add std.path module for pathname manipulations.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/path.rs | 21 | ||||
| -rw-r--r-- | src/lib/std.rc | 1 |
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; |