Fixed a bug where the parser fails when the playlist does not end with a newline.

This commit is contained in:
Rutger
2016-09-10 13:22:13 +02:00
parent fe2ceb87dd
commit d7c452fe78
5 changed files with 73 additions and 34 deletions

View File

@ -201,7 +201,7 @@ named!(pub is_master_playlist_tag_line(&[u8]) -> Option<(bool, String)>,
pub fn parse_master_playlist_tags(input: &[u8]) -> IResult<&[u8], Vec<MasterPlaylistTag>> {
chain!(input,
mut tags: many0!(chain!(m:master_playlist_tag ~ multispace?, || m)) ~ eof,
mut tags: many0!(chain!(m:master_playlist_tag ~ multispace?, || m)) ~ eof?,
|| { tags.reverse(); tags }
)
}
@ -273,7 +273,7 @@ named!(pub session_key_tag<SessionKey>,
pub fn parse_media_playlist_tags(input: &[u8]) -> IResult<&[u8], Vec<MediaPlaylistTag>> {
chain!(input,
mut tags: many0!(chain!(m:media_playlist_tag ~ multispace?, || m)) ~ eof,
mut tags: many0!(chain!(m:media_playlist_tag ~ multispace?, || m)) ~ eof?,
|| { tags.reverse(); tags }
)
}