@@ -33,13 +33,9 @@ thread_local! {
3333pub ( crate ) unsafe extern "C" fn write_full_cb ( buffer : * mut c_void , size : usize ) -> c_int {
3434 CURRENT_WRITER . with ( |cell| {
3535 if let Some ( writer_ptr) = * cell. borrow ( ) {
36- let writer: & mut dyn PayloadWriter = & mut * writer_ptr;
37- let buf = std:: slice:: from_raw_parts_mut ( buffer as * mut u8 , size) ;
38- if writer. write_full ( buf) {
39- 0
40- } else {
41- -1
42- }
36+ let writer: & mut dyn PayloadWriter = unsafe { & mut * writer_ptr } ;
37+ let buf = unsafe { std:: slice:: from_raw_parts_mut ( buffer as * mut u8 , size) } ;
38+ if writer. write_full ( buf) { 0 } else { -1 }
4339 } else {
4440 -1
4541 }
@@ -50,13 +46,9 @@ pub(crate) unsafe extern "C" fn write_full_cb(buffer: *mut c_void, size: usize)
5046pub ( crate ) unsafe extern "C" fn write_mod_cb ( buffer : * mut c_void , size : usize ) -> c_int {
5147 CURRENT_WRITER . with ( |cell| {
5248 if let Some ( writer_ptr) = * cell. borrow ( ) {
53- let writer: & mut dyn PayloadWriter = & mut * writer_ptr;
54- let buf = std:: slice:: from_raw_parts_mut ( buffer as * mut u8 , size) ;
55- if writer. write_modified ( buf) {
56- 0
57- } else {
58- -1
59- }
49+ let writer: & mut dyn PayloadWriter = unsafe { & mut * writer_ptr } ;
50+ let buf = unsafe { std:: slice:: from_raw_parts_mut ( buffer as * mut u8 , size) } ;
51+ if writer. write_modified ( buf) { 0 } else { -1 }
6052 } else {
6153 -1
6254 }
@@ -67,7 +59,7 @@ pub(crate) unsafe extern "C" fn write_mod_cb(buffer: *mut c_void, size: usize) -
6759pub ( crate ) unsafe extern "C" fn get_size_cb ( ) -> usize {
6860 CURRENT_WRITER . with ( |cell| {
6961 if let Some ( writer_ptr) = * cell. borrow ( ) {
70- let writer: & mut dyn PayloadWriter = & mut * writer_ptr;
62+ let writer: & mut dyn PayloadWriter = unsafe { & mut * writer_ptr } ;
7163 writer. get_size ( )
7264 } else {
7365 0
0 commit comments