about summary refs log tree commit diff
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2014-05-27 22:52:00 +1000
committerHuon Wilson <dbau.pp+github@gmail.com>2014-05-28 22:02:14 +1000
commit3482ab3699784d5fa838b8e3ddbef9dee19bce2d (patch)
treeecb71341ab717357af7929992a8f912533d1bb16
parent0a092a815861cbbf3585c7edfb12f4234cfbaeb9 (diff)
downloadrust-3482ab3699784d5fa838b8e3ddbef9dee19bce2d.tar.gz
rust-3482ab3699784d5fa838b8e3ddbef9dee19bce2d.zip
rustdoc: cross-crate source links are one level lower.
Previously this was adding one-too-many `..`s to the path for the
`gotosrc=...` links for local crates. Also, the `root_path` already ends
in `/`s so a trailing / shouldn't be added after the root (some servers
treat `...//...` different to `.../...` including the one running
doc.rust-lang.org).
-rw-r--r--src/librustdoc/html/render.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index f5c7352b9c2..d0974c25e95 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -1094,10 +1094,10 @@ impl<'a> Item<'a> {
             let path = cache.external_paths.get(&self.item.def_id);
             let root = match *cache.extern_locations.get(&self.item.def_id.krate) {
                 Remote(ref s) => s.to_string(),
-                Local => format!("{}/..", self.cx.root_path),
+                Local => self.cx.root_path.clone(),
                 Unknown => return None,
             };
-            Some(format!("{root}/{path}/{file}?gotosrc={goto}",
+            Some(format!("{root}{path}/{file}?gotosrc={goto}",
                          root = root,
                          path = path.slice_to(path.len() - 1).connect("/"),
                          file = item_path(self.item),