From 82a05afe30b5551bd15928193bc15069b187607b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 22 Dec 2011 22:22:25 +0100 Subject: [PATCH] Made the SRT parser a bit less strict. * This allows to parse some SRTs that previously failed. * Use the more expressive BString::IsEmpty() instead of Length() > 0. --- src/apps/mediaplayer/supplier/SubTitlesSRT.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/apps/mediaplayer/supplier/SubTitlesSRT.cpp b/src/apps/mediaplayer/supplier/SubTitlesSRT.cpp index 1fc725ce29..af3dcb2554 100644 --- a/src/apps/mediaplayer/supplier/SubTitlesSRT.cpp +++ b/src/apps/mediaplayer/supplier/SubTitlesSRT.cpp @@ -45,6 +45,9 @@ SubTitlesSRT::SubTitlesSRT(BFile* file, const char* name) switch (state) { case EXPECT_SEQUENCE_NUMBER: { + if (line.IsEmpty()) + continue; + line.Trim(); int32 sequenceNumber = atoi(line.String()); if (sequenceNumber != lastSequenceNumber + 1) { @@ -106,7 +109,7 @@ SubTitlesSRT::SubTitlesSRT(BFile* file, const char* name) } case EXPECT_TEXT: - if (line.Length() == 0) { + if (line.IsEmpty()) { int32 index = _IndexFor(subTitle.startTime); SubTitle* clone = new(std::nothrow) SubTitle(subTitle); if (clone == NULL || !fSubTitles.AddItem(clone, index)) {