File tree Expand file tree Collapse file tree 1 file changed +16
-8
lines changed Expand file tree Collapse file tree 1 file changed +16
-8
lines changed Original file line number Diff line number Diff line change @@ -98,14 +98,22 @@ pub fn rustdoc_redirector_handler(req: &mut Request) -> IronResult<Response> {
9898
9999 // get target name
100100 // FIXME: This is a bit inefficient but allowing us to use less code in general
101- let target_name: String =
102- ctry ! ( conn. query( "SELECT target_name
103- FROM releases
104- INNER JOIN crates ON crates.id = releases.crate_id
105- WHERE crates.name = $1 AND releases.version = $2" ,
106- & [ & crate_name, & version] ) )
107- . get ( 0 )
108- . get ( 0 ) ;
101+ let target_name: String = {
102+ let query = ctry ! ( conn. query( "SELECT target_name, default_target
103+ FROM releases
104+ INNER JOIN crates ON crates.id = releases.crate_id
105+ WHERE crates.name = $1 AND releases.version = $2" ,
106+ & [ & crate_name, & version] ) ) ;
107+ let row = query. get ( 0 ) ;
108+
109+ let ( target, default) : ( String , Option < String > ) = ( row. get ( 0 ) , row. get ( 1 ) ) ;
110+
111+ if let Some ( default) = default {
112+ format ! ( "{}/{}" , default , target)
113+ } else {
114+ target
115+ }
116+ } ;
109117
110118 redirect_to_doc ( req, & crate_name, & version, & target_name)
111119}
You can’t perform that action at this time.
0 commit comments