1
1
use libc:: { c_char, c_int, c_uint, c_void, size_t} ;
2
- use std:: ffi:: { CStr , CString } ;
2
+ use std:: ffi:: CStr ;
3
3
use std:: mem;
4
4
use std:: ptr;
5
5
use std:: slice;
@@ -330,11 +330,7 @@ extern "C" fn credentials_cb(
330
330
331
331
let cred_type = CredentialType :: from_bits_truncate ( allowed_types as u32 ) ;
332
332
333
- callback ( url, username_from_url, cred_type) . map_err ( |e| {
334
- let s = CString :: new ( e. to_string ( ) ) . unwrap ( ) ;
335
- raw:: git_error_set_str ( e. class ( ) as c_int , s. as_ptr ( ) ) ;
336
- e. raw_code ( ) as c_int
337
- } )
333
+ callback ( url, username_from_url, cred_type) . map_err ( |e| e. raw_set_git_error ( ) )
338
334
} ) ;
339
335
match ok {
340
336
Some ( Ok ( cred) ) => {
@@ -433,13 +429,7 @@ extern "C" fn certificate_check_cb(
433
429
match ok {
434
430
Some ( Ok ( CertificateCheckStatus :: CertificateOk ) ) => 0 ,
435
431
Some ( Ok ( CertificateCheckStatus :: CertificatePassthrough ) ) => raw:: GIT_PASSTHROUGH as c_int ,
436
- Some ( Err ( e) ) => {
437
- let s = CString :: new ( e. message ( ) ) . unwrap ( ) ;
438
- unsafe {
439
- raw:: git_error_set_str ( e. class ( ) as c_int , s. as_ptr ( ) ) ;
440
- }
441
- e. raw_code ( ) as c_int
442
- }
432
+ Some ( Err ( e) ) => unsafe { e. raw_set_git_error ( ) } ,
443
433
None => {
444
434
// Panic. The *should* get resumed by some future call to check().
445
435
-1
@@ -466,7 +456,7 @@ extern "C" fn push_update_reference_cb(
466
456
} ;
467
457
match callback ( refname, status) {
468
458
Ok ( ( ) ) => 0 ,
469
- Err ( e) => e. raw_code ( ) ,
459
+ Err ( e) => e. raw_set_git_error ( ) ,
470
460
}
471
461
} )
472
462
. unwrap_or ( -1 )
@@ -529,7 +519,7 @@ extern "C" fn push_negotiation_cb(
529
519
let updates = slice:: from_raw_parts ( updates as * mut PushUpdate < ' _ > , len) ;
530
520
match callback ( updates) {
531
521
Ok ( ( ) ) => 0 ,
532
- Err ( e) => e. raw_code ( ) ,
522
+ Err ( e) => e. raw_set_git_error ( ) ,
533
523
}
534
524
} )
535
525
. unwrap_or ( -1 )
0 commit comments