Fix repeated parsing in rust yunq.
This commit is contained in:
parent
6f0dfa8719
commit
c4dfa624fa
|
@ -112,7 +112,7 @@ fn parse_field(field: &Field) -> TokenStream {
|
|||
let rep_offset = buf.at::<u32>(yunq::message::field_offset(offset, #ind))?;
|
||||
let rep_len = buf.at::<u32>(yunq::message::field_offset(offset, #ind) + 4)?;
|
||||
|
||||
yunq::message::parse_repeated(buf, rep_offset as usize, rep_len as usize)?
|
||||
yunq::message::parse_repeated(buf, offset + rep_offset as usize, rep_len as usize)?
|
||||
};
|
||||
},
|
||||
Type::I64 => unimplemented!(),
|
||||
|
@ -122,7 +122,7 @@ fn parse_field(field: &Field) -> TokenStream {
|
|||
let rep_offset = buf.at::<u32>(yunq::message::field_offset(offset, #ind))?;
|
||||
let rep_len = buf.at::<u32>(yunq::message::field_offset(offset, #ind) + 4)?;
|
||||
|
||||
yunq::message::parse_repeated_message(buf, rep_offset as usize, rep_len as usize, &caps)?
|
||||
yunq::message::parse_repeated_message(buf, offset + rep_offset as usize, rep_len as usize, &caps)?
|
||||
};
|
||||
},
|
||||
}
|
||||
|
@ -206,6 +206,7 @@ fn generate_parse(message: &Message) -> TokenStream {
|
|||
Self: Sized,
|
||||
{
|
||||
if buf.at::<u32>(offset + 0)? != yunq::message::MESSAGE_IDENT {
|
||||
mammoth::debug!("Expected IDENT at offest {:#x}, got {:#x}", offset, buf.at::<u32>(offset)?);
|
||||
return Err(ZError::INVALID_ARGUMENT);
|
||||
}
|
||||
// TODO: Parse core size.
|
||||
|
|
Loading…
Reference in New Issue