X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess%2Fdvdread.c;h=a918dc95589b5c0486705457ff7ae8fe59ba9793;hb=5ad6561ceab66b046b648e7651ed63c071d6012d;hp=f6cfad65c0d93edd3516bdd6e5541b0ed1838ba5;hpb=df61d33b06e2b3cbbe746b2f5a9bea5b370c24ff;p=vlc diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c index f6cfad65c0..a918dc9558 100644 --- a/modules/access/dvdread.c +++ b/modules/access/dvdread.c @@ -30,13 +30,15 @@ # include "config.h" #endif -#include +#include +#include #include #include +#include #include -#include "iso_lang.h" +#include #include "../demux/ps.h" @@ -48,11 +50,21 @@ #include #include -#include -#include -#include -#include -#include +#ifdef HAVE_DVDREAD_DVD_READER_H + #include + #include + #include + #include + #include +#else + #include + #include + #include + #include + #include +#endif + +#include /***************************************************************************** * Module descriptor @@ -83,15 +95,15 @@ "libcss.\n" \ "The default method is: key.") -static const char *psz_css_list[] = { "title", "disc", "key" }; -static const char *psz_css_list_text[] = { N_("title"), N_("Disc"), N_("Key") }; +static const char *const psz_css_list[] = { "title", "disc", "key" }; +static const char *const psz_css_list_text[] = { N_("title"), N_("Disc"), N_("Key") }; static int Open ( vlc_object_t * ); static void Close( vlc_object_t * ); vlc_module_begin(); - set_shortname( _("DVD without menus") ); - set_description( _("DVDRead Input (DVD without menu support)") ); + set_shortname( N_("DVD without menus") ); + set_description( N_("DVDRead Input (DVD without menu support)") ); set_category( CAT_INPUT ); set_subcategory( SUBCAT_INPUT_ACCESS ); add_integer( "dvdread-angle", 1, NULL, ANGLE_TEXT, @@ -203,20 +215,22 @@ static int Open( vlc_object_t *p_this ) } } else - psz_name = strdup( p_demux->psz_path ); + psz_name = ToLocaleDup( p_demux->psz_path ); #ifdef WIN32 if( psz_name[0] && psz_name[1] == ':' && psz_name[2] == '\\' && psz_name[3] == '\0' ) psz_name[2] = '\0'; #endif - /* Override environment variable DVDCSS_METHOD with config option - * (FIXME: this creates a small memory leak) */ + /* Override environment variable DVDCSS_METHOD with config option */ psz_dvdcss_env = config_GetPsz( p_demux, "dvdread-css-method" ); if( psz_dvdcss_env && *psz_dvdcss_env ) +#ifdef HAVE_SETENV + setenv( "DVDCSS_METHOD", psz_dvdcss_env, 1 ); +#else { + /* FIXME: this create a small memory leak */ char *psz_env; - psz_env = malloc( strlen("DVDCSS_METHOD=") + strlen( psz_dvdcss_env ) + 1 ); if( !psz_env ) @@ -224,11 +238,10 @@ static int Open( vlc_object_t *p_this ) free( psz_dvdcss_env ); return VLC_ENOMEM; } - sprintf( psz_env, "%s%s", "DVDCSS_METHOD=", psz_dvdcss_env ); - putenv( psz_env ); } +#endif free( psz_dvdcss_env ); /* Open dvdread */