mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-04 10:34:11 +02:00
handle mallformed utf8 gameevent values
This commit is contained in:
parent
d952c5c4bc
commit
6599a5d6d2
8 changed files with 201 additions and 9 deletions
|
|
@ -9,12 +9,15 @@ use crate::demo::gamevent::{
|
|||
GameEvent, GameEventDefinition, GameEventEntry, GameEventValue, GameEventValueType,
|
||||
RawGameEvent,
|
||||
};
|
||||
use crate::demo::handle_utf8_error;
|
||||
use crate::demo::parser::ParseBitSkip;
|
||||
use crate::{GameEventError, Parse, ParseError, ParserState, ReadResult, Result, Stream};
|
||||
|
||||
fn read_event_value(stream: &mut Stream, definition: &GameEventEntry) -> Result<GameEventValue> {
|
||||
Ok(match definition.kind {
|
||||
GameEventValueType::String => GameEventValue::String(stream.read()?),
|
||||
GameEventValueType::String => {
|
||||
GameEventValue::String(stream.read().or_else(handle_utf8_error)?)
|
||||
}
|
||||
GameEventValueType::Float => GameEventValue::Float(stream.read()?),
|
||||
GameEventValueType::Long => GameEventValue::Long(stream.read()?),
|
||||
GameEventValueType::Short => GameEventValue::Short(stream.read()?),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue