@@ -412,27 +412,32 @@ extern "C" fn update_tips_cb(
412
412
413
413
extern "C" fn certificate_check_cb (
414
414
cert : * mut raw:: git_cert ,
415
- _valid : c_int ,
415
+ valid : c_int ,
416
416
hostname : * const c_char ,
417
417
data : * mut c_void ,
418
418
) -> c_int {
419
- let ok = panic:: wrap ( || unsafe {
420
- let payload = & mut * ( data as * mut RemoteCallbacks < ' _ > ) ;
421
- let callback = match payload. certificate_check {
422
- Some ( ref mut c) => c,
423
- None => return Ok ( CertificateCheckStatus :: CertificatePassthrough ) ,
424
- } ;
425
- let cert = Binding :: from_raw ( cert) ;
426
- let hostname = str:: from_utf8 ( CStr :: from_ptr ( hostname) . to_bytes ( ) ) . unwrap ( ) ;
427
- callback ( & cert, hostname)
428
- } ) ;
429
- match ok {
430
- Some ( Ok ( CertificateCheckStatus :: CertificateOk ) ) => 0 ,
431
- Some ( Ok ( CertificateCheckStatus :: CertificatePassthrough ) ) => raw:: GIT_PASSTHROUGH as c_int ,
432
- Some ( Err ( e) ) => unsafe { e. raw_set_git_error ( ) } ,
433
- None => {
434
- // Panic. The *should* get resumed by some future call to check().
435
- -1
419
+ match valid {
420
+ -1 => valid,
421
+ _ => {
422
+ let ok = panic:: wrap ( || unsafe {
423
+ let payload = & mut * ( data as * mut RemoteCallbacks < ' _ > ) ;
424
+ let callback = match payload. certificate_check {
425
+ Some ( ref mut c) => c,
426
+ None => return Ok ( CertificateCheckStatus :: CertificatePassthrough ) ,
427
+ } ;
428
+ let cert = Binding :: from_raw ( cert) ;
429
+ let hostname = str:: from_utf8 ( CStr :: from_ptr ( hostname) . to_bytes ( ) ) . unwrap ( ) ;
430
+ callback ( & cert, hostname)
431
+ } ) ;
432
+ match ok {
433
+ Some ( Ok ( CertificateCheckStatus :: CertificateOk ) ) => 0 ,
434
+ Some ( Ok ( CertificateCheckStatus :: CertificatePassthrough ) ) => raw:: GIT_PASSTHROUGH as c_int ,
435
+ Some ( Err ( e) ) => unsafe { e. raw_set_git_error ( ) } ,
436
+ None => {
437
+ // Panic. The *should* get resumed by some future call to check().
438
+ -1
439
+ }
440
+ }
436
441
}
437
442
}
438
443
}
0 commit comments