diff options
Diffstat (limited to 'src/lib')
| -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); |
