@@ -282,12 +282,13 @@ impl<'a> Iterator for QueryDownstreamIdentifiersResponse<'a> {
282282
283283impl < ' a > PldmCodecWithLifetime < ' a > for QueryDownstreamIdentifiersResponse < ' a > {
284284 fn encode ( & self , buffer : & mut [ u8 ] ) -> Result < usize , crate :: codec:: PldmCodecError > {
285- let max_size = size_of :: < PldmMsgHeader < [ u8 ; PLDM_MSG_HEADER_LEN ] > > ( )
285+ let size = size_of :: < PldmMsgHeader < [ u8 ; PLDM_MSG_HEADER_LEN ] > > ( )
286286 + size_of :: < u8 > ( )
287287 + size_of :: < u32 > ( )
288288 + size_of :: < u8 > ( )
289289 + self . portion . len ( ) ;
290- if buffer. len ( ) < max_size {
290+
291+ if buffer. len ( ) < size {
291292 return Err ( crate :: codec:: PldmCodecError :: BufferTooShort ) ;
292293 }
293294
@@ -307,42 +308,41 @@ impl<'a> PldmCodecWithLifetime<'a> for QueryDownstreamIdentifiersResponse<'a> {
307308
308309 offset += size_of :: < u8 > ( ) ;
309310 buffer[ offset..offset + self . portion . len ( ) ] . copy_from_slice ( self . portion ) ;
310- offset += self . portion . len ( ) ;
311311
312- Ok ( offset)
312+ Ok ( offset + self . portion . len ( ) )
313313 }
314314
315- fn decode ( _buffer : & ' a [ u8 ] ) -> Result < Self , crate :: codec:: PldmCodecError > {
315+ fn decode ( buffer : & ' a [ u8 ] ) -> Result < Self , crate :: codec:: PldmCodecError > {
316316 let min_size = size_of :: < PldmMsgHeader < [ u8 ; PLDM_MSG_HEADER_LEN ] > > ( )
317317 + size_of :: < u8 > ( )
318318 + size_of :: < u32 > ( )
319319 + size_of :: < u8 > ( ) ;
320320
321- if _buffer . len ( ) < min_size {
321+ if buffer . len ( ) < min_size {
322322 return Err ( crate :: codec:: PldmCodecError :: BufferTooShort ) ;
323323 }
324324
325325 let mut offset = 0 ;
326326 let hdr = PldmMsgHeader :: < [ u8 ; PLDM_MSG_HEADER_LEN ] > :: read_from_bytes (
327- & _buffer [ offset..offset + PLDM_MSG_HEADER_LEN ] ,
327+ & buffer [ offset..offset + PLDM_MSG_HEADER_LEN ] ,
328328 )
329329 . map_err ( |_| crate :: codec:: PldmCodecError :: BufferTooShort ) ?;
330330 offset += PLDM_MSG_HEADER_LEN ;
331331
332- let completion_code = _buffer [ offset] ;
332+ let completion_code = buffer [ offset] ;
333333 offset += size_of :: < u8 > ( ) ;
334334
335335 let next_data_transfer_handle = u32:: from_le_bytes (
336- _buffer [ offset..offset + size_of :: < u32 > ( ) ]
336+ buffer [ offset..offset + size_of :: < u32 > ( ) ]
337337 . try_into ( )
338338 . map_err ( |_| crate :: codec:: PldmCodecError :: BufferTooShort ) ?,
339339 ) ;
340340 offset += size_of :: < u32 > ( ) ;
341341
342- let transfer_flag = _buffer [ offset] ;
342+ let transfer_flag = buffer [ offset] ;
343343 offset += size_of :: < u8 > ( ) ;
344344
345- let portion = & _buffer [ offset..] ;
345+ let portion = & buffer [ offset..] ;
346346
347347 Ok ( QueryDownstreamIdentifiersResponse {
348348 hdr,
@@ -438,7 +438,6 @@ impl Iterator for DownstreamDevice<'_> {
438438 self . _iter_offset += descriptor_size;
439439 self . _iter_dev_count += 1 ;
440440
441- // println!("{descriptor:?}");
442441 Some ( descriptor)
443442 }
444443}
@@ -885,18 +884,22 @@ impl PldmCodec for DownstreamDeviceParameterTable {
885884 let capabilities_during_update = CapabilitiesDuringUpdate :: decode ( & buffer[ offset..] ) ?;
886885 offset += size_of :: < CapabilitiesDuringUpdate > ( ) ;
887886
888- let mut active_component_version_string = PldmFirmwareString :: default ( ) ;
889- active_component_version_string. str_type = active_component_version_string_type;
890- active_component_version_string. str_len = active_component_version_string_length;
887+ let mut active_component_version_string = PldmFirmwareString {
888+ str_type : active_component_version_string_type,
889+ str_len : active_component_version_string_length,
890+ str_data : [ 0u8 ; 32 ] ,
891+ } ;
891892 active_component_version_string. str_data [ ..active_component_version_string_length as usize ]
892893 . copy_from_slice (
893894 & buffer[ offset..offset + active_component_version_string_length as usize ] ,
894895 ) ;
895896 offset += active_component_version_string_length as usize ;
896897
897- let mut pending_component_version_string = PldmFirmwareString :: default ( ) ;
898- pending_component_version_string. str_type = pending_component_version_string_type;
899- pending_component_version_string. str_len = pending_component_version_string_length;
898+ let mut pending_component_version_string = PldmFirmwareString {
899+ str_type : pending_component_version_string_type,
900+ str_len : pending_component_version_string_length,
901+ str_data : [ 0u8 ; 32 ] ,
902+ } ;
900903 pending_component_version_string. str_data
901904 [ ..pending_component_version_string_length as usize ]
902905 . copy_from_slice (
@@ -948,9 +951,6 @@ impl PldmCodec for GetDownstreamFirmwareParametersResponse {
948951 + size_of :: < u8 > ( )
949952 + self . portion . size ( ) ;
950953
951- println ! ( "DownstreamDeviceParameterTable encode size: {}" , size) ;
952- println ! ( "Buffer length: {}" , buffer. len( ) ) ;
953-
954954 if buffer. len ( ) < size {
955955 return Err ( crate :: codec:: PldmCodecError :: BufferTooShort ) ;
956956 }
@@ -972,9 +972,8 @@ impl PldmCodec for GetDownstreamFirmwareParametersResponse {
972972 offset += size_of :: < u8 > ( ) ;
973973
974974 let bytes_written = self . portion . encode ( & mut buffer[ offset..] ) ?;
975- offset += bytes_written;
976975
977- Ok ( offset)
976+ Ok ( offset + bytes_written )
978977 }
979978
980979 fn decode ( buffer : & [ u8 ] ) -> Result < Self , crate :: codec:: PldmCodecError > {
@@ -1257,8 +1256,6 @@ mod tests {
12571256 + size_of :: < ComponentActivationMethods > ( )
12581257 + size_of :: < CapabilitiesDuringUpdate > ( ) ;
12591258
1260- dbg ! ( STR_DATA_OFFSET ) ;
1261-
12621259 let mut buffer = [ 0u8 ; STR_DATA_OFFSET + 4 + 4 ] ;
12631260 let bytes_written = table. encode ( & mut buffer) . unwrap ( ) ;
12641261
@@ -1292,8 +1289,6 @@ mod tests {
12921289 )
12931290 . unwrap ( ) ;
12941291
1295- dbg ! ( size_of_val( & downstream_device_parameter_table) ) ;
1296-
12971292 let portion = GetDownstreamFirmwareParametersPortion {
12981293 get_downstream_firmware_parameters_capability : FirmwareDeviceCapability ( 0u32 ) ,
12991294 downstream_device_count : 1 ,
@@ -1310,7 +1305,6 @@ mod tests {
13101305
13111306 #[ test]
13121307 fn test_get_downstream_firmware_parameters_response_codec ( ) {
1313- // todo!();
13141308 let instance_id: InstanceId = 0x01 ;
13151309 let downstream_device_index = DownstreamDeviceIndex :: try_from ( 1 ) . unwrap ( ) ;
13161310 let cap: FirmwareDeviceCapability = FirmwareDeviceCapability ( 0u32 ) ;
0 commit comments