]> git.sesse.net Git - vlc/blobdiff - modules/access/vcd/vcd.c
Fixed an invalid msg_Err format (potential segfault).
[vlc] / modules / access / vcd / vcd.c
index 4492cd2bf9605964c95ce815ae76b0a5d22df9bc..575ff326686a9b0343a577442561414b1196f725 100644 (file)
 # include "config.h"
 #endif
 
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
 #include <vlc_input.h>
 #include <vlc_access.h>
+#include <vlc_charset.h>
 
 #include "cdrom.h"
 
@@ -47,8 +49,8 @@ static void Close( vlc_object_t * );
     "value should be set in milliseconds." )
 
 vlc_module_begin();
-    set_shortname( _("VCD"));
-    set_description( _("VCD input") );
+    set_shortname( N_("VCD"));
+    set_description( N_("VCD input") );
     set_capability( "access", 60 );
     set_callbacks( Open, Close );
     set_category( CAT_INPUT );
@@ -94,7 +96,7 @@ static int Open( vlc_object_t *p_this )
 {
     access_t     *p_access = (access_t *)p_this;
     access_sys_t *p_sys;
-    char *psz_dup = strdup( p_access->psz_path );
+    char *psz_dup = ToLocaleDup( p_access->psz_path );
     char *psz;
     int i_title = 0;
     int i_chapter = 0;
@@ -209,6 +211,7 @@ static int Open( vlc_object_t *p_this )
     p_access->info.i_pos = ( p_sys->i_sector - p_sys->p_sectors[1+i_title] ) *
         VCD_DATA_SIZE;
 
+    free( p_access->psz_demux );
     p_access->psz_demux = strdup( "ps" );
 
     return VLC_SUCCESS;