@@ -78,14 +78,16 @@ impl Surface {
78
78
#[ doc( alias = "cairo_surface_get_mime_data" ) ]
79
79
#[ doc( alias = "get_mime_data" ) ]
80
80
pub fn mime_data ( & self , mime_type : & str ) -> Option < Vec < u8 > > {
81
- let data_ptr: * mut u8 = ptr:: null_mut ( ) ;
81
+ let mut data_ptr: * mut u8 = ptr:: null_mut ( ) ;
82
82
let mut length: c_ulong = 0 ;
83
+ // The function actually needs a mutable pointer
84
+ #[ allow( clippy:: unnecessary_mut_passed) ]
83
85
unsafe {
84
86
let mime_type = CString :: new ( mime_type) . unwrap ( ) ;
85
87
ffi:: cairo_surface_get_mime_data (
86
88
self . to_raw_none ( ) ,
87
89
mime_type. as_ptr ( ) ,
88
- & data_ptr,
90
+ & mut data_ptr,
89
91
& mut length,
90
92
) ;
91
93
if !data_ptr. is_null ( ) && length != 0 {
@@ -99,15 +101,19 @@ impl Surface {
99
101
#[ doc( alias = "cairo_surface_get_mime_data" ) ]
100
102
#[ doc( alias = "get_mime_data_raw" ) ]
101
103
pub unsafe fn mime_data_raw ( & self , mime_type : & str ) -> Option < & [ u8 ] > {
102
- let data_ptr: * mut u8 = ptr:: null_mut ( ) ;
104
+ let mut data_ptr: * mut u8 = ptr:: null_mut ( ) ;
103
105
let mut length: c_ulong = 0 ;
104
106
let mime_type = CString :: new ( mime_type) . unwrap ( ) ;
105
- ffi:: cairo_surface_get_mime_data (
106
- self . to_raw_none ( ) ,
107
- mime_type. as_ptr ( ) ,
108
- & data_ptr,
109
- & mut length,
110
- ) ;
107
+ // The function actually needs a mutable pointer
108
+ #[ allow( clippy:: unnecessary_mut_passed) ]
109
+ {
110
+ ffi:: cairo_surface_get_mime_data (
111
+ self . to_raw_none ( ) ,
112
+ mime_type. as_ptr ( ) ,
113
+ & mut data_ptr,
114
+ & mut length,
115
+ ) ;
116
+ }
111
117
if !data_ptr. is_null ( ) && length != 0 {
112
118
Some ( slice:: from_raw_parts (
113
119
data_ptr as * const u8 ,
0 commit comments