@@ -172,8 +172,6 @@ unsafe extern "C" fn decode_callback<'a, F, C>(ukn: *mut pt_packet_unknown,
172172 let c = & mut * c;
173173
174174 let ( res, bytes) = c ( & ( & * cfg) . into ( ) , pos) ;
175- // TODO
176- // REMEMBER TO CATCH THE BOX FROM THE DECODER
177175 ( * ukn) . priv_ = match res. 0 {
178176 Some ( r) => Box :: into_raw ( r) as * mut _ ,
179177 None => std:: ptr:: null_mut ( )
@@ -186,7 +184,7 @@ unsafe extern "C" fn decode_callback<'a, F, C>(ukn: *mut pt_packet_unknown,
186184pub struct ConfigBuilder < ' a , T > ( pt_config , PhantomData < & ' a mut T > ) ;
187185impl < ' a , T > ConfigBuilder < ' a , T > {
188186 /// Initializes a Config instance with a buffer and decoder callback
189- pub fn with_callback < F > ( buf : & ' a mut [ u8 ] , mut cb : F ) -> Self
187+ pub fn with_callback < F > ( buf : & ' a mut [ u8 ] , mut cb : F ) -> Result < Self , PtError >
190188 where F : FnMut ( & Config < T > , & [ u8 ] ) -> ( Unknown < T > , u32 ) ,
191189 F : ' a {
192190 let mut cfg: pt_config = unsafe { mem:: zeroed ( ) } ;
@@ -267,4 +265,4 @@ impl<'a, C> From<&'a pt_config> for Config<'a, C> {
267265 fn from ( cfg : & ' a pt_config ) -> Self {
268266 Config ( Cow :: Borrowed ( cfg) , PhantomData )
269267 }
270- }
268+ }
0 commit comments