diff --git a/ChangeLog b/ChangeLog index 6d73e7ce3e..f6cf28582f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-10-19 Tim-Philipp Müller + + * gst/subparse/gstsubparse.c: (strip_trailing_newlines), + (parse_subrip): + Strip trailing newlines from subtitle text output. + 2006-10-18 Tim-Philipp Müller * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose), diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c index 26409ed1b4..d17be39f00 100644 --- a/gst/subparse/gstsubparse.c +++ b/gst/subparse/gstsubparse.c @@ -476,6 +476,20 @@ parse_mdvdsub (ParserState * state, const gchar * line) return ret; } +static void +strip_trailing_newlines (gchar * txt) +{ + if (txt) { + guint len; + + len = strlen (txt); + while (len > 1 && txt[len - 1] == '\n') { + txt[len - 1] = '\0'; + --len; + } + } +} + /* we want to escape text in general, but retain basic markup like * , , and . The easiest and safest way is to * just unescape a white list of allowed markups again after @@ -572,6 +586,7 @@ parse_subrip (ParserState * state, const gchar * line) g_string_truncate (state->buf, 0); state->state = 0; subrip_unescape_formatting (ret); + strip_trailing_newlines (ret); return ret; } return NULL;