X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess%2Fdvdread.c;h=a918dc95589b5c0486705457ff7ae8fe59ba9793;hb=5ad6561ceab66b046b648e7651ed63c071d6012d;hp=25638523b8e8421e251274520df7fa02c46bd1a8;hpb=35824733e305214dfada18dd6362cfa02a86dcd3;p=vlc diff --git a/modules/access/dvdread.c b/modules/access/dvdread.c index 25638523b8..a918dc9558 100644 --- a/modules/access/dvdread.c +++ b/modules/access/dvdread.c @@ -225,7 +225,23 @@ static int Open( vlc_object_t *p_this ) /* 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 ) + { + 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 */