summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/text_subtitle.cc7
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);