diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-02-06 20:03:59 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-02-06 20:03:59 +0000 |
| commit | fa7bc921f3fdf492dd8742bb5b778c7e4b38d98f (patch) | |
| tree | 1c3fd23a425ed2d6ef5125657f2f2258b100f851 /src | |
| parent | a81cf2fed139a04882d9d1a735272d05a4639cf1 (diff) | |
Fix failure to parse subtitle files with OS X line endings.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/text_subtitle.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/text_subtitle.cc b/src/lib/text_subtitle.cc index 2de815459..a3c3975e4 100644 --- a/src/lib/text_subtitle.cc +++ b/src/lib/text_subtitle.cc @@ -43,6 +43,13 @@ TextSubtitle::TextSubtitle (shared_ptr<const TextSubtitleContent> content) { Data in (content->path (0)); + /* Fix OS X line endings */ + for (int i = 0; i < in.size(); ++i) { + if (in.data()[i] == '\r' && ((i == in.size() - 1) || in.data()[i + 1] != '\n')) { + in.data()[i] = '\n'; + } + } + UErrorCode status = U_ZERO_ERROR; UCharsetDetector* detector = ucsdet_open (&status); ucsdet_setText (detector, reinterpret_cast<const char *> (in.data().get()), in.size(), &status); |
