switch these checks around so they are run in all cases
This commit is contained in:
parent
53d2658ea2
commit
745c6703c8
|
@ -94,14 +94,6 @@ impl QuestHeaderPacket {
|
||||||
Self: Sized,
|
Self: Sized,
|
||||||
{
|
{
|
||||||
let header = PacketHeader::from_bytes(reader)?;
|
let header = PacketHeader::from_bytes(reader)?;
|
||||||
if header.id != PACKET_ID_QUEST_HEADER_ONLINE && header.id != PACKET_ID_QUEST_HEADER_OFFLINE
|
|
||||||
{
|
|
||||||
return Err(PacketError::WrongId(header.id));
|
|
||||||
}
|
|
||||||
if header.size != Self::packet_size() as u16 {
|
|
||||||
return Err(PacketError::WrongSize(header.size));
|
|
||||||
}
|
|
||||||
|
|
||||||
Self::from_header_and_bytes(header, reader)
|
Self::from_header_and_bytes(header, reader)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,6 +104,14 @@ impl QuestHeaderPacket {
|
||||||
where
|
where
|
||||||
Self: Sized,
|
Self: Sized,
|
||||||
{
|
{
|
||||||
|
if header.id != PACKET_ID_QUEST_HEADER_ONLINE && header.id != PACKET_ID_QUEST_HEADER_OFFLINE
|
||||||
|
{
|
||||||
|
return Err(PacketError::WrongId(header.id));
|
||||||
|
}
|
||||||
|
if header.size != Self::packet_size() as u16 {
|
||||||
|
return Err(PacketError::WrongSize(header.size));
|
||||||
|
}
|
||||||
|
|
||||||
let name: [u8; QUEST_HEADER_NAME_SIZE] = reader.read_bytes()?;
|
let name: [u8; QUEST_HEADER_NAME_SIZE] = reader.read_bytes()?;
|
||||||
let unused = reader.read_u16::<LittleEndian>()?;
|
let unused = reader.read_u16::<LittleEndian>()?;
|
||||||
let flags = reader.read_u16::<LittleEndian>()?;
|
let flags = reader.read_u16::<LittleEndian>()?;
|
||||||
|
@ -214,13 +214,6 @@ impl QuestDataPacket {
|
||||||
Self: Sized,
|
Self: Sized,
|
||||||
{
|
{
|
||||||
let header = PacketHeader::from_bytes(reader)?;
|
let header = PacketHeader::from_bytes(reader)?;
|
||||||
if header.id != PACKET_ID_QUEST_DATA_ONLINE && header.id != PACKET_ID_QUEST_DATA_OFFLINE {
|
|
||||||
return Err(PacketError::WrongId(header.id));
|
|
||||||
}
|
|
||||||
if header.size != Self::packet_size() as u16 {
|
|
||||||
return Err(PacketError::WrongSize(header.size));
|
|
||||||
}
|
|
||||||
|
|
||||||
Self::from_header_and_bytes(header, reader)
|
Self::from_header_and_bytes(header, reader)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -231,6 +224,13 @@ impl QuestDataPacket {
|
||||||
where
|
where
|
||||||
Self: Sized,
|
Self: Sized,
|
||||||
{
|
{
|
||||||
|
if header.id != PACKET_ID_QUEST_DATA_ONLINE && header.id != PACKET_ID_QUEST_DATA_OFFLINE {
|
||||||
|
return Err(PacketError::WrongId(header.id));
|
||||||
|
}
|
||||||
|
if header.size != Self::packet_size() as u16 {
|
||||||
|
return Err(PacketError::WrongSize(header.size));
|
||||||
|
}
|
||||||
|
|
||||||
let filename: [u8; QUEST_HEADER_FILENAME_SIZE] = reader.read_bytes()?;
|
let filename: [u8; QUEST_HEADER_FILENAME_SIZE] = reader.read_bytes()?;
|
||||||
let data: [u8; QUEST_DATA_PACKET_DATA_SIZE] = reader.read_bytes()?;
|
let data: [u8; QUEST_DATA_PACKET_DATA_SIZE] = reader.read_bytes()?;
|
||||||
let size = reader.read_u32::<LittleEndian>()?;
|
let size = reader.read_u32::<LittleEndian>()?;
|
||||||
|
|
Loading…
Reference in a new issue