about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-03-15 17:11:55 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-03-15 17:11:55 -0700
commit6d5379cdcbe5b5988c0c53941cdcde675644bd01 (patch)
tree4614d4df35c2b89b656f5b2981d510583ae2d0e8 /src/lib
parenta8d8ea3cf39c7a694dcefc6226233ddbbf904ec2 (diff)
downloadrust-6d5379cdcbe5b5988c0c53941cdcde675644bd01.tar.gz
rust-6d5379cdcbe5b5988c0c53941cdcde675644bd01.zip
Add a fs.connect() function to join paths
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/fs.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/fs.rs b/src/lib/fs.rs
index 55f4f9793d0..1b9ed4b0a8d 100644
--- a/src/lib/fs.rs
+++ b/src/lib/fs.rs
@@ -18,6 +18,14 @@ fn dirname(path p) -> path {
     ret _str.substr(p, 0u, i as uint);
 }
 
+fn connect(path pre, path post) -> path {
+    auto len = _str.byte_len(pre);
+    if (pre.(len - 1u) == (os_fs.path_sep as u8)) { // Trailing '/'?
+        ret pre + post;
+    }
+    ret pre + path_sep() + post;
+}
+
 impure fn file_is_dir(path p) -> bool {
   ret rustrt.rust_file_is_dir(p) != 0;
 }