diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-12-26 16:13:21 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-12-26 16:13:21 +0000 |
commit | d52f151b187a050797a0fd4d5f8ca8653fb9c3c6 (patch) | |
tree | aa8cb12cfce85fafa5688f7f7ea08f8c8c448cfe /src/demuxers | |
parent | dea88a934f792fc7d152b2bfe9f3b5a8f8a3c201 (diff) | |
download | xine-lib-d52f151b187a050797a0fd4d5f8ca8653fb9c3c6.tar.gz xine-lib-d52f151b187a050797a0fd4d5f8ca8653fb9c3c6.tar.bz2 |
* cure the ABI breakage: XINE_LANG_MAX cannot be increased
* add TODO items to provide a better solution
CVS patchset: 5950
CVS date: 2003/12/26 16:13:21
Diffstat (limited to 'src/demuxers')
-rw-r--r-- | src/demuxers/demux_ogg.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c index dc1d85ab2..751687f28 100644 --- a/src/demuxers/demux_ogg.c +++ b/src/demuxers/demux_ogg.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_ogg.c,v 1.128 2003/12/23 21:22:38 miguelfreitas Exp $ + * $Id: demux_ogg.c,v 1.129 2003/12/26 16:13:21 mroi Exp $ * * demultiplexer for ogg streams * @@ -1569,6 +1569,10 @@ static int demux_ogg_get_optional_data(demux_plugin_t *this_gen, if (this->language[stream_num]) { strncpy (str, this->language[stream_num], XINE_LANG_MAX); str[XINE_LANG_MAX - 1] = '\0'; + if (strlen(this->language[stream_num]) >= XINE_LANG_MAX) + /* the string got truncated */ + str[XINE_LANG_MAX - 2] = str[XINE_LANG_MAX - 3] = str[XINE_LANG_MAX - 4] = '.'; + /* TODO: provide long version in XINE_META_INFO_FULL_LANG */ return DEMUX_OPTIONAL_SUCCESS; } else { snprintf(str, XINE_LANG_MAX, "channel %d",channel); @@ -1589,6 +1593,10 @@ static int demux_ogg_get_optional_data(demux_plugin_t *this_gen, if (this->language[stream_num]) { strncpy (str, this->language[stream_num], XINE_LANG_MAX); str[XINE_LANG_MAX - 1] = '\0'; + if (strlen(this->language[stream_num]) >= XINE_LANG_MAX) + /* the string got truncated */ + str[XINE_LANG_MAX - 2] = str[XINE_LANG_MAX - 3] = str[XINE_LANG_MAX - 4] = '.'; + /* TODO: provide long version in XINE_META_INFO_FULL_LANG */ return DEMUX_OPTIONAL_SUCCESS; } else { snprintf(str, XINE_LANG_MAX, "channel %d",channel); |