File tree 1 file changed +16
-8
lines changed
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> {
98
98
99
99
// get target name
100
100
// 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
+ } ;
109
117
110
118
redirect_to_doc ( req, & crate_name, & version, & target_name)
111
119
}
You can’t perform that action at this time.
0 commit comments