@@ -80,7 +80,7 @@ def _parse_header_field(cls, data: bytes, offset: int) -> tuple[int, str, bytes]
8080 Returns:
8181 Tuple of (new_offset, field_name, field_value).
8282 """
83- field_len = struct .unpack_from ('<i ' , data , offset )[0 ]
83+ field_len = struct .unpack_from ('<I ' , data , offset )[0 ]
8484 offset += 4
8585 field_data = data [offset :offset + field_len ]
8686 offset += field_len
@@ -135,7 +135,7 @@ def parse_record(cls, file: BaseReader) -> tuple[int, Any] | None:
135135 header_len_bytes = file .read (4 )
136136 if len (header_len_bytes ) < 4 :
137137 return None # EOF
138- header_len = struct .unpack ('<i ' , header_len_bytes )[0 ]
138+ header_len = struct .unpack ('<I ' , header_len_bytes )[0 ]
139139 header = cls ._parse_header (file , header_len )
140140
141141 # Get the operation type
@@ -147,7 +147,7 @@ def parse_record(cls, file: BaseReader) -> tuple[int, Any] | None:
147147 data_len_bytes = file .read (4 )
148148 if len (data_len_bytes ) < 4 :
149149 return None # EOF
150- data_len = struct .unpack ('<i ' , data_len_bytes )[0 ]
150+ data_len = struct .unpack ('<I ' , data_len_bytes )[0 ]
151151 data = cls ._parse_data (file , data_len )
152152
153153 return op , cls ._parse_record_by_type (op , header , data )
@@ -183,9 +183,9 @@ def _parse_bag_header(
183183 data : bytes
184184 ) -> BagHeaderRecord :
185185 """Parse a bag header record."""
186- index_pos = struct .unpack ('<q ' , header ['index_pos' ])[0 ]
187- conn_count = struct .unpack ('<i ' , header ['conn_count' ])[0 ]
188- chunk_count = struct .unpack ('<i ' , header ['chunk_count' ])[0 ]
186+ index_pos = struct .unpack ('<Q ' , header ['index_pos' ])[0 ]
187+ conn_count = struct .unpack ('<I ' , header ['conn_count' ])[0 ]
188+ chunk_count = struct .unpack ('<I ' , header ['chunk_count' ])[0 ]
189189 return BagHeaderRecord (index_pos , conn_count , chunk_count , data )
190190
191191 @classmethod
@@ -196,7 +196,7 @@ def _parse_chunk(
196196 ) -> ChunkRecord :
197197 """Parse a chunk record."""
198198 compression = header ['compression' ].decode ('ascii' )
199- size = struct .unpack ('<i ' , header ['size' ])[0 ]
199+ size = struct .unpack ('<I ' , header ['size' ])[0 ]
200200 return ChunkRecord (compression , size , data )
201201
202202 @classmethod
@@ -210,7 +210,7 @@ def _parse_connection(
210210 The connection header contains basic info, and the data section
211211 contains the full connection header from the original publisher.
212212 """
213- conn = struct .unpack ('<i ' , header ['conn' ])[0 ]
213+ conn = struct .unpack ('<I ' , header ['conn' ])[0 ]
214214 topic = header ['topic' ].decode ('utf-8' )
215215 return ConnectionRecord (conn , topic , data )
216216
@@ -221,7 +221,7 @@ def _parse_message_data(
221221 data : bytes
222222 ) -> MessageDataRecord :
223223 """Parse a message data record."""
224- conn = struct .unpack ('<i ' , header ['conn' ])[0 ]
224+ conn = struct .unpack ('<I ' , header ['conn' ])[0 ]
225225 time = _decode_ros_time (header ['time' ])
226226 return MessageDataRecord (conn , time , data )
227227
@@ -232,9 +232,9 @@ def _parse_index_data(
232232 data : bytes
233233 ) -> IndexDataRecord :
234234 """Parse an index data record."""
235- ver = struct .unpack ('<i ' , header ['ver' ])[0 ]
236- conn = struct .unpack ('<i ' , header ['conn' ])[0 ]
237- count = struct .unpack ('<i ' , header ['count' ])[0 ]
235+ ver = struct .unpack ('<I ' , header ['ver' ])[0 ]
236+ conn = struct .unpack ('<I ' , header ['conn' ])[0 ]
237+ count = struct .unpack ('<I ' , header ['count' ])[0 ]
238238 return IndexDataRecord (ver , conn , count , data )
239239
240240 @classmethod
@@ -244,11 +244,11 @@ def _parse_chunk_info(
244244 data : bytes
245245 ) -> ChunkInfoRecord :
246246 """Parse a chunk info record."""
247- ver = struct .unpack ('<i ' , header ['ver' ])[0 ]
248- chunk_pos = struct .unpack ('<q ' , header ['chunk_pos' ])[0 ]
247+ ver = struct .unpack ('<I ' , header ['ver' ])[0 ]
248+ chunk_pos = struct .unpack ('<Q ' , header ['chunk_pos' ])[0 ]
249249 start_time = _decode_ros_time (header ['start_time' ])
250250 end_time = _decode_ros_time (header ['end_time' ])
251- count = struct .unpack ('<i ' , header ['count' ])[0 ]
251+ count = struct .unpack ('<I ' , header ['count' ])[0 ]
252252 return ChunkInfoRecord (ver , chunk_pos , start_time , end_time , count , data )
253253
254254 @classmethod
0 commit comments