[vlc-commits] commit: IFO: fix DVD-VR as well ( =?UTF-8?Q?R=C3=A9mi=20Denis=2DCourmont=20?=)
git at videolan.org
git at videolan.org
Mon Dec 6 05:04:52 CET 2010
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Mon Dec 6 06:04:35 2010 +0200| [ad4cf3034b2e1cb7eb5245585e16dc842f1e54c0] | committer: Rémi Denis-Courmont
IFO: fix DVD-VR as well
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ad4cf3034b2e1cb7eb5245585e16dc842f1e54c0
---
modules/demux/playlist/ifo.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/modules/demux/playlist/ifo.c b/modules/demux/playlist/ifo.c
index 0f48e15..4dbdb73 100644
--- a/modules/demux/playlist/ifo.c
+++ b/modules/demux/playlist/ifo.c
@@ -30,6 +30,7 @@
#include <vlc_common.h>
#include <vlc_demux.h>
+#include <assert.h>
#include "playlist.h"
@@ -120,14 +121,15 @@ static int Demux( demux_t *p_demux )
static int DemuxDVD_VR( demux_t *p_demux )
{
- char *psz_url = strdup( p_demux->psz_file );
+ size_t len = strlen( p_demux->psz_location );
+ char *psz_url = malloc( len + 1 );
- if( !psz_url )
+ if( unlikely( psz_url == NULL ) )
return 0;
-
- size_t len = strlen( psz_url );
-
- strncpy( psz_url + len - 12, "VR_MOVIE.VRO", 12 );
+ assert( len >= 12 );
+ len -= 12;
+ memcpy( psz_url, p_demux->psz_location, len );
+ memcpy( psz_url + len, "VR_MOVIE.VRO", 13 );
input_item_t *p_current_input = GetCurrentItem(p_demux);
input_item_t *p_input = input_item_New( p_demux, psz_url, psz_url );
More information about the vlc-commits
mailing list